如何交换矩阵二维数组中的元素?

问题描述 投票:-1回答:1

你好,我创建了一个程序,用户将2D数组的值输入6x6并显示出来,现在我必须制作一个新的方法,我想将行0、2、4中的元素旋转到列1,3中。 ,5和来自行1,3,5的元素放在第0、2、4列中,而不是告诉最后两行总共有“ M”个。”有人可以告诉我该怎么做吗,我不知道。谢谢

这是我的代码的照片,另一张照片我应该如何更改索引

“”

c# arrays forms winforms multidimensional-array
1个回答
0
投票

解决方案是用Java编写的,希望您能理解。

public class ProgramMain {

public static void main(String[] args) {
    int[][] arr = {
            {0,0,0,0,0,0}, 
            {1,1,1,1,1,1},
            {2,2,2,2,2,2},
            {3,3,3,3,3,3},
            {4,4,4,4,4,4},
            {5,5,5,5,5,5}
        };
    int[][] output = new int [6][6];

    // elements from rows 0,2,4 put them in column 1,3,5 and elements from rows 1,3,5 putting them in column 0,2,4 
    for (int i = 0; i < output.length; i++) {
        for (int j = 0; j < output.length; j++) {
            if(i==0||(i%2)==0) {
                output[j][i+1]=arr[i][j];
            }else {
                output[j][i-1]=arr[i][j];
            }
        }
    }

    //Ignore the below code this is only used for printing the matrix
    System.out.println("Input Array");
    for (int i = 0; i < arr.length; i++) {
        for (int j = 0; j < arr.length; j++) {
            System.out.print(arr[i][j]+"\t");
        }
        System.out.println();
    }

    System.out.println("\n\nOuput Array");
    for (int i = 0; i < output.length; i++) {
        for (int j = 0; j < output.length; j++) {
            System.out.print(output[i][j]+"\t");
        }
        System.out.println();
    }
}

}

output

© www.soinside.com 2019 - 2024. All rights reserved.