-
2022-02-07 10:40:14
题目描述
将一个二维数组的行和列元素互换,存放到另一个二维数组中。
输入要求
第一行输入两个整数m和n分别表示二维数组的行数和列数(均不超过20)。
下一行输入该二维数组的各个元素值。
输出要求
输出行列变换后的数组。
输入样例
3 4 1 2 5 3 5 3 4 2 0 6 9 1
输出样例
1 5 0 2 3 6 5 4 9 3 2 1
提示
每个数据的后面都有空格。数组长度不超过20。
#include<cstdio> #include<iostream> using namespace std; int main() { int a[22][22],h,l,i,j; cin>>h>>l; for(i=0;i<h;i++){ for(j=0;j<l;j++){ cin>>a[i][j]; } } for(i=0;i<l;i++){ for(j=0;j<h;j++){ cout<<a[j][i]<<" "; } cout<<endl; } return 0; }
更多相关内容 -
二维数组行列互换
2021-12-17 23:08:20#include<stdio.h> int main() { int m,n; scanf("%d%d",&m,&n); double a[m][n]; int i,j; for(i=0; i<m; i++) { for(j=0; j<n; j++) { scanf("%lf",&... ///行列互换 m...#include<stdio.h>
int main()
{
int m,n;
scanf("%d%d",&m,&n);
double a[m][n];
int i,j;
for(i=0; i<m; i++)
{
for(j=0; j<n; j++)
{
scanf("%lf",&a[i][j]);
}
}
///行列互换 m行n列变成n行m列for(i=0; i<n; i++)
{
///double sum=0.0;
for(j=0; j<m; j++)
{
///sum=sum+a[j][i];
printf("%.0lf ",a[j][i]);
///printf("%d ",a[i][j]);
}
///printf("\n");
///printf("%.2lf ",sum/m);
}
return 0;
}核心代码
m行n列互换成n行m列
int i,j;
for(i=0; i<m; i++)
{
for(j=0; j<n; j++)
{
scanf("%lf",&a[i][j]);
}
}
///行列互换 m行n列变成n行m列for(i=0; i<n; i++)
{
///double sum=0.0;
for(j=0; j<m; j++)
{
printf("%.0lf ",a[j][i]);
}
printf("\n");}
-
java 二维数组行列互换
2020-12-21 12:03:19代码需求:对等行等列的二维数组进行 行列 的互换分析过程主对角线是保持不变行列互换即角标互换:[0][1] => [1][0]循环次数:外层循环行,内层循环每一行的列示意图 代码实现public class ArrayReverse {public ...代码需求:
对等行等列的二维数组进行 行列 的互换
分析过程
主对角线是保持不变
行列互换即角标互换:[0][1] => [1][0]
循环次数:外层循环行,内层循环每一行的列
示意图
代码实现
public class ArrayReverse {
public static void main(String[] args) {
int arry[][] = new int[][] {{1,2,3},{4,5,6},{7,8,9}};
reverse(arry);
printArray(arry);
}
/**
* 二维数组转置
* @param arry
*/
public static void reverse(int arry[][]) {
int count = 0;//用于统计总共循环次数
for(int i=0; i< arry.length-1; i++) {
//列循环从:i+1开始,提高循环效率
for(int j=i+1; j< arry[i].length; j++) {
int temp = arry[i][j];
arry[i][j] = arry[j][i];
arry[j][i] = temp;
count++;
}
}
System.out.println(count);
}
public static void printArray(int array[][]){
for(int i=0;i
for(int j = 0; j< array[i].length; j++) {
System.out.print(array[i][j]+"、");
}
System.out.println();
}
}
}
总结
内层循环(列循环)循环的起始点 = 外层循环+1;比从j=0循环节省了循环次数,提高效率。
如有更好的算法,还望道友下发留言帮忙改进!
-
指针实现二维数组行列互换
2021-02-20 11:03:27//二维数组转置 #include<stdio.h> int main(){ void exchange(int *p); int a[3][3],i,j; int *p; //二维数组的输入 printf("请输入二维数组:"); for(i=0;i<3;i++){ for(j=0;j<3;j++){ ...//二维数组转置 #include<stdio.h> int main(){ void exchange(int *p); int a[3][3],i,j; int *p; //二维数组的输入 printf("请输入二维数组:"); for(i=0;i<3;i++){ for(j=0;j<3;j++){ scanf("%d",&a[i][j]); } } p=&a[0][0];//指向第一行 //行列互换 exchange(p); //输出 printf("该二维数组转置为:"); for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%d ",a[i][j]); } printf("\n"); } return 0; } //不用指针 void exchange(int *p){ int temp,i,j; for(i=0;i<3;i++){ for(j=i+1;j<3;j++){ temp=*(p+3*i+j);//下标需要数组或指针类型 //数组元素是按行排列的,因此a[i][j]在a数组中是第(3*i+j)个元素 *(p+3*i+j)=*(p+3*j+i); *(p+3*j+i)=temp; } }//j=i+1,这样循环不会重复执行 }
-
C语言学习 二维数组行列互换
2020-10-27 16:10:05二维数组行列互换 Description 将一个二维数组的行和列元素互换,存放到另一个二维数组中。 Input 第一行输入两个整数m和n分别表示二维数组的行数和列数(均小于20)。 下一行输入该二维数组的各个元素值。 ... -
python二维数组行列互换
2020-11-10 19:45:39""" 做任何题一定要逻辑清晰 1 判断边界条件,输入值判断 2 一定要找终止条件,这里的终止条件是只要有一个list为空就退出 """ def conn(list1, list2): # 合并俩个有序非空的list res = [] while list1 and list2... -
C语言二维数组行列互换(矩阵转制)
2019-03-15 03:46:41//以下代码是对行列进行互换的核心代码。 //主要思想是对从左上至右下以下的半个数组进行分析,找出全部可以进行对调的数 //找出i、j和N之间的规律。 for ( i = 1 ; i < N ; i ++ ) for ( j = 0 ; j < i... -
C++笔记:二维数组行列互换
2019-07-18 11:12:51将二维数组中行数据和列数据相互置换 */ #include<iostream> #include<iomanip>//主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。 //它是I/O流控制头文件,就... -
JS实现二维数组横纵列转置的方法
2020-12-10 14:31:20我想将一个二维数组横纵列转过来,我就不信只有我有这个需求,可是百度了好久,四海八荒都找遍了…… 后来证明还是大神说的google好用 ~ 第一条就是,鄙视臭百度 此番记录下来,也方便各位道友查阅(好想说“仙友”... -
c一维和二维数组相转和二维数组行列互换
2021-03-05 14:07:54一维转二维: #include <stdio.h> #include <math.h> #include <string.h> #include <stdlib.h> #include <iostream>...//要转换成的二维数组 int i=0;//行数 int j -
java二维数组行列
2021-03-17 17:44:51培训系列AmberXie 求二维数组行列之和把二维数组 a 各行之和分别放入 b...二维数组例题答案[技巧] 【例 1】编写程序,利用二维数组在窗体上输出如图 5x5...如果没有 max 为行列都 是最大值 flag = 0 For j = 1 To 5 ... -
二维数组的行列互换
2021-12-30 16:54:35#本人大一软件工程在读,妥妥的小菜鸟一枚,以下仅是我自己的学习心得,用来整理笔记用的,要是有什么错误,跪请各位大佬... } } 这个其实就是新建一个数组,把原来的一行行的数据填到列里去,这样就可以解决问题了! -
C语言 | 二维数组行列元素互换
2020-12-02 18:02:49例24:C语言实现将一个二维数组行和列的元素互换,存到另一个二维数组中。 例如: a数组的序列: 1 2 3 4 5 6 b数组的序列: 1 4 2 5 3 6 解题思路:可以定义两个数组:数组a为2行3列,存放指定的6个数。数组b... -
浅谈二维数组行列置换
2022-04-13 21:55:49浅谈二维数组行列置换 -
C语言学习,二维数组行列互换
2022-06-26 10:25:55代码 -
[Python] 二维数组行列转换
2022-02-23 18:19:06[Python] 二维数组行列转换 -
python 二维数组 行列转换
2021-05-21 15:50:54arr = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] #方法1 ar2 =[] for i in range(len(arr[0])): b =[] for j in range(len(arr)): b.append(arr[j][i]) ar2.append(b) print(ar2) ...ar2 = list(map(list,zip(*arr))) ... -
【C语言程序】将二维数组行列对换
2022-01-19 17:59:01} } printf("输出二维数组:\n"); for (i = 0; i ; i++) { for (j = 0; j ; j++) { printf("%d\t", a[i][j]); } printf("\n"); } for (i = 0; i ; i++) { for (j = 0; j ; j++) { b[j][i] = a[i][j]; } } printf(... -
Java 二维数组行列互换
2020-12-21 12:03:19代码需求:对等行等列的二维数组进行 行列 的互换分析过程主对角线是保持不变行列互换即角标互换:[0][1] => [1][0]循环次数:外层循环行,内层循环每一行的列示意图代码实现public class ArrayReverse {public ... -
二维数组行列怎么看
2021-05-22 13:21:33c语言中如何获取一个二维数组的行列数?有两种方式: 1 二维数组的行列数在定义的时候就是确定好的,所以编程人员是知道二维数组的大小以及行列数的。 所以可以直接使用行列数的值。 为方便维护,可以将行列数定义为... -
想把二维数组行列互换时出现的问题
2021-09-19 12:45:52#include int main() { int a[2][3], b[3][2]; int i, j;...//要把a数组值赋给b数组值 for (i= 0; i ; i++) { printf("\n"); for (j = 0; j ; j++) printf("%d", b[j][i]); } return 0; } 求解决方式
-
计算机<em>二</em>级C语言试题1、 改错题1 下列给定程序的功能是:读入一个整数(2《=10000》,打印它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出2、3、5、7、11。 请改正程序中的错误,...南
-
C程序范例宝典(基础代码详解)实例031 <em>二维数组行列互换</em> 37 实例032 使用数组统计学生成绩 39 实例033 打印5阶幻方 40 1.6 字符和字符串操作 41 实例034 统计各种字符个数 41 实例0
-
南开<em>二</em>级上机100题本资源提供了 南开<em>二</em>级C语言上机100题 可以帮助广大考生备战<em>二</em>级 考出好成绩
-
计算机<em>二</em>级C语言上机南开100题计算机<em>二</em>级C语言上机南开100题,适合语言初学者
-
<em>二</em>级c语言上机试题精选有答案<em>二</em>级c语言上机试题精选~~基本上是历年精选~~附有详细答案