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

    更多相关内容
  • 代码需求:对等行等列的二维数组进行 行列 的互换分析过程主对角线是保持不变行列互换即角标互换:[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循环节省了循环次数,提高效率。

    如有更好的算法,还望道友下发留言帮忙改进!

    展开全文
  • Java中数组行列互换

    千次阅读 2020-03-21 10:17:08
    数组中的行列互换,有个前期,就是:这个数组必须是N * N的,即就是在数组 int[a][a]; 具体实现就是 1 2 3 4 5 6 7 8 9 由上表变成下表 1 4 7 2 5 8 3 6 9 ...

    数组中的行列互换,有个前期,就是:这个数组必须是N * N的,即就是在数组 int[a][a];

    具体实现就是

    123
    456
    789

     

    由上表变成下表

    147
    258
    369

     

    贴码:

    public static void test03210958() {
            int[][] arr = new int[][] {{1,2,3},{4,5,6},{7,8,9}};
    
            for(int i=0;i<arr.length;i++) {
                for(int j=0;j<arr.length;j++){
                    System.out.println(arr[i][j]);
                }
                System.out.println("........");
            }
    
            int[][] arrs = new int[arr.length][arr.length];
            for(int i=0;i<arr.length;i++) {
                for (int j = 0; j < arr[i].length; j++) {
                    // arrs[0][0]--->arr[0][0] 1
                    // arrs[0][1]--->arr[1][0] 4
                    // arrs[0][2]--->arr[2][0] 7
                    // --------------
                    arrs[i][j] = arr[j][i];
                }
            }
            System.out.println("---------------------------");
            for(int i=0;i<arrs.length;i++) {
                for(int j=0;j<arrs.length;j++){
                    System.out.println(arrs[i][j]);
                }
                System.out.println("........");
            }
    
        }

    结果:

    1
    2
    3
    ........
    4
    5
    6
    ........
    7
    8
    9
    ........
    ---------------------------
    1
    4
    7
    ........
    2
    5
    8
    ........
    3
    6
    9
    ........

    展开全文
  • 指针实现二维数组行列互换

    千次阅读 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;... //行列互换 exchange(p);
    //二维数组转置
    #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,这样循环不会重复执行
    
    }
    
    展开全文
  • python二维数组行列互换

    千次阅读 2020-11-10 19:45:39
    """ 做任何题一定要逻辑清晰 1 判断边界条件,输入值判断 2 一定要找终止条件,这里的终止条件是只要有一个list为空就退出 """ def conn(list1, list2): # 合并俩个有序非空的list res = [] while list1 and list2...
  • C语言学习 二维数组行列互换

    千次阅读 2020-10-27 16:10:05
    二维数组行列互换 Description 将一个二维数组的行和列元素互换,存放到另一个二维数组中。 Input 第一行输入两个整数m和n分别表示二维数组的行数和列数(均小于20)。 下一行输入该二维数组的各个元素值。 ...
  • C++笔记:二维数组行列互换

    千次阅读 2019-07-18 11:12:51
    将二维数组中行数据和列数据相互置换 */ #include<iostream> #include<iomanip>//主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。 //它是I/O流控制头文件,就...
  • C语言二维数组行列互换(矩阵转制)

    万次阅读 多人点赞 2019-03-15 03:46:41
    //以下代码是对行列进行互换的核心代码。 //主要思想是对从左上至右下以下的半个数组进行分析,找出全部可以进行对调的数 //找出i、j和N之间的规律。 for ( i = 1 ; i < N ; i ++ ) for ( j = 0 ; j < i...
  • 二维数组行列互换

    千次阅读 2018-08-09 12:00:09
    #include&lt;stdio.h&gt; int main() { int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j; printf(“array a :\n”); for(i=0;i&lt;=1;i++) { for(j=0;j&... { ...
  • 写一个函数名为convert,实现将给定的3× 3的整型数组转置(行列互换)。 要求:(1)由键盘按矩阵的形式输入3× 3的整型数组。 (2)函数的原型为:void convert(int b[3][3]) (3)在源程序中书写必要的注释。
  • java 数组行列互换

    2021-02-26 16:59:00
    classtrans{inttemp;//返回值为二维数组int[][]transpose(intarray[][]){//倒置矩阵for(inti=0;iclass trans{int temp;//返回值为二维数组int[][]transpose(int array[][]){//...j{//行列互换temp=array[i][j];// ...
  • #include<stdio.h> int main() { int i,j,temp; int a[3][3]; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) for(j=0;j<i;... a[j]
  • 二维数组行列互换

    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...
  • public class Test2 { public static void main(String[] args) { int[][] s={{1,2,3},{4,5,6},{7,8,9}}; System.out.println("转移前:"); printArray(s); System.out.println("转移后:");...
  • 一维转二维: #include <stdio.h> #include <math.h> #include <string.h> #include <stdlib.h> #include <iostream>...//要转换成的二维数组 int i=0;//行数 int j
  • 流程图怎么画啊 #include int main() { int a[2][3]; int b[3][2],i,j; printf("array:a\n"); for(i=0;i;i++) { for(j=0;j;j++) { scanf("%d",&a[i][j]); } } for(i=0;i;i++) { for(j=0;...j++) { printf("%5d",a[i][j]...
  • java二维数组行列

    2021-03-17 17:44:51
    培训系列AmberXie 求二维数组行列之和把二维数组 a 各行之和分别放入 b...二维数组例题答案[技巧] 【例 1】编写程序,利用二维数组在窗体上输出如图 5x5...如果没有 max 为行列都 是最大值 flag = 0 For j = 1 To 5 ...
  • //矩阵的转制就是二维数组行列互换,比如有这样的一个矩阵a[3][3]= 1,2,3  4,5,6
  • [Python] 二维数组行列转换

    千次阅读 2022-02-23 18:19:06
    [Python] 二维数组行列转换
  • java实现n×n数组行列互换

    千次阅读 2020-03-11 19:13:06
    public class Test { public static int[][] swapRowColumn(int[][] arr) { int[][] arr2 = new int[arr.length][arr.length]; for (int i = 0;... i++) { // 调整数组行列数据 for (int j = 0; j ...
  • 所谓矩阵行列互换是指,原来的行变为列,其中元素相邻顺序不变。原来的列变为行,其中元素相邻顺序不变。 #include<cstdio> #include<iostream> using namespace std; int main() { int a[10][10],m,n;...

空空如也

空空如也

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

数组行列互换