zoukankan      html  css  js  c++  java
  • ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)

    1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 154  Solved: 112
    [Submit][Status][Web Board]

    Description

    写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。

    Input

    一个3x3的矩阵

    Output

    转置后的矩阵

    Sample Input

    1 2 3 4 5 6 7 8 9

    Sample Output

    1 4 7 2 5 8 3 6 9

    HINT

      主函数已给定如下,提交时不需要包含下述主函数


    /* C代码 */

    int main()

    {

      int a[3][3];

      int i,j;

      for(i=0; i<3; i++)

         for(j=0; j<3; j++)

           scanf("%d",&a[i][j]);


      zhuangzhi(a);

      for(i=0; i<3; i++)

      {

         for(j=0; j<3; j++)

            printf("%d ",a[i][j]);

         printf(" ");

      }

       return 0;

    }




    /* C++代码 */


    int main()

    {

      int a[3][3];

      int i,j;

      for(i=0; i<3; i++)

        for(j=0; j<3; j++)

           cin>>a[i][j];

      zhuangzhi(a);

      for(i=0; i<3; i++)

      {

        for(j=0; j<3; j++)

          cout<<a[i][j]<<" ";

        cout<<endl;

      }

      return 0;

    }

    Source


      水题,之所以拿上来,是因为这道题我用指针做的,也是顺便熟悉了指针使用。
      另外,定义一个指针的时候不要忘记初始化,做这道题犯了这个低级错误,惊醒,切记切记。
     1 #include <iostream>
     2 using namespace std;
     3 void zhuangzhi(int(*p)[3])
     4 {
     5     int (*p2)[3] =  new int[3][3];  //注意要初始化
     6     for(int i=0;i<3;i++)
     7         for(int j=0;j<3;j++){
     8             *(*(p2+i)+j)=*(*(p+i)+j);
     9         }
    10     for(int i=0;i<3;i++)
    11         for(int j=0;j<3;j++){
    12             *(*(p+i)+j)=*(*(p2+j)+i);
    13         }
    14     delete *p2;
    15 }

     Freecode : www.cnblogs.com/yym2013

  • 相关阅读:
    JavaScript变量存储浅析
    AngularJS学习篇(二十二)
    css目录
    html目录
    javascript目录
    第一篇 dom
    第五篇、css补充二
    第六篇 javascript面向对象
    第三篇 css属性
    jmeter之-图形监控
  • 原文地址:https://www.cnblogs.com/yym2013/p/3504257.html
Copyright © 2011-2022 走看看