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

  • 相关阅读:
    LeetCode 55. 跳跃游戏(Jump Game)I II tag 数组 贪心 动态规划
    科学的意义
    umi前后端交互技术,通用型request配置
    TD demo在我们机器上
    Ubuntu挂载和登录服务器
    TD属性总结
    TD音乐界面添加keyboard的流程
    VS Code常用键
    TD打印 log方法
    TD自定义控件流程
  • 原文地址:https://www.cnblogs.com/yym2013/p/3504257.html
Copyright © 2011-2022 走看看