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("\n");

}

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


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

Freecode : www.cnblogs.com/yym2013

ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)的更多相关文章

  1. C#如何定义一个变长的一维和二维数组

    1.假设将要定义数组的长度为程序执行过程中计算出来的MAX List<int> Arc = new List<int>(); ; i < MAX; i++) { Arc. ...

  2. 编写一段代码,打印一个M行N列的二维数组转置。(交换行和列)

    import edu.princeton.cs.algs4.*; public class No_1_1_13 { public static void main(String[] args) { i ...

  3. C语言中如何将二维数组作为函数的参数传递

    今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不 ...

  4. [CareerCup] 13.10 Allocate a 2D Array 分配一个二维数组

    13.10 Write a function in C called my2DAlloc which allocates a two-dimensional array. Minimize the n ...

  5. 计算机二级-C语言-程序设计题-190119记录-求出一个二维数组每一列的最小值。

    //编写一个函数:tt指向一个M行N列的二维数组,求出二维数组每列中最小的元素,并依次放入pp所指的一维数组中.二维数组中的数在主函数中赋予. //重难点:求出的是每一列的最小值,这里要注意,学会简化 ...

  6. C#中如何获取一个二维数组的两维长度,即行数和列数?以及多维数组各个维度的长度?

    如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组int row = array. ...

  7. 【原创】只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(四)

    全系列Index: [原创]只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(一) [原创]只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(二) [原创]只学到二维数组和结构体,不用链表也能 ...

  8. PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?

    如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) { echo '是一维数组' ...

  9. 《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

    一.题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

随机推荐

  1. 【USACO 2.3】Controlling Companies (递推)

    题意:A公司对B公司有控制权的条件是满足下面条件之一:A=B,A对B的股份超过50%,A控制的公司对B的股份之和超过50%. 分析:我把控制关系分个等级:第一级是直接的股份超过50%,第二级是至少需要 ...

  2. 构建自己的 Linux 发行版

    如何用 SUSE Studio 构建 Linux 发行版? (1) 进入到 www.susestudio.com,设立一个帐户 (2) 为你的设备(发行版)选择一个基本模板 -软件和软件包选择 (1) ...

  3. VBScript使用CDO.Message发送邮件

    Const Email_From = "from@163.com" Const Password = "password" Const Email_To = & ...

  4. jcaptcha sample 制作验证码

    Skip to end of metadata Created by marc antoine garrigue, last modified by Jeremy Waters on Feb 23, ...

  5. shell命令lsof

    PREFACE linux一切皆是文件,共有7中文件类型 1.普通文件(regular file) 2.目录文件(directory file) 3.块特殊文件(block special file) ...

  6. centos7安装图片界面

    yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

  7. [NHibernate]O/R Mapping基础

    系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 [NHibernate]持久化类(Persistent Classes) 引言 对象和关系数据库 ...

  8. soj杂题

    unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除.他是c++中的函数,所以头文件 ...

  9. 如何挂载阿里云Linux服务器的“数据盘”(新购买)

    详细操作参考: http://jingyan.baidu.com/article/90808022d2e9a3fd91c80fe9.html 用到的命令行汇总: 1.查看磁盘: fdisk -l 2. ...

  10. java基础 集合 ArrayList 增删改除

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...