精华内容
下载资源
问答
  • 二维数组行列互换
    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");

    }

    展开全文
  • 代码需求:对等行等列的二维数组进行 行列 的互换分析过程主对角线是保持不变行列互换即角标互换:[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流控制头文件,就...
  • 我想将一个二维数组横纵列转过来,我就不信只有我有这个需求,可是百度了好久,四海八荒都找遍了…… 后来证明还是大神说的google好用 ~ 第一条就是,鄙视臭百度 此番记录下来,也方便各位道友查阅(好想说“仙友”...
  • 一维转二维: #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...
  • 浅谈二维数组行列置换
  • 代码
  • [Python] 二维数组行列转换

    千次阅读 2022-02-23 18:19:06
    [Python] 二维数组行列转换
  • python 二维数组 行列转换

    千次阅读 2021-05-21 15:50:54
    arr = [[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))) ...
  • } } 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(...
  • 代码需求:对等行等列的二维数组进行 行列 的互换分析过程主对角线是保持不变行列互换即角标互换:[0][1] => [1][0]循环次数:外层循环行,内层循环每一行的列示意图代码实现public class ArrayReverse {public ...
  • 二维数组行列怎么看

    千次阅读 2021-05-22 13:21:33
    c语言中如何获取一个二维数组行列数?有两种方式: 1 二维数组行列数在定义的时候就是确定好的,所以编程人员是知道二维数组的大小以及行列数的。 所以可以直接使用行列数的值。 为方便维护,可以将行列数定义为...
  • #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; } 求解决方式

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,069
精华内容 1,227
关键字:

二维数组行列互换