gpt4 book ai didi

java - 如何根据右对角线交换对称矩阵的元素

转载 作者:太空宇宙 更新时间:2023-11-04 14:16:48 26 4
gpt4 key购买 nike

我有一个创建二维数组的代码,它按预期工作,但现在我想让第一行反向成为最后一行。

就像你有一个专栏

1
2
3
4

必须像这样进入新数组:

4 3 2 1

我的矩阵是这样的:

 1  2  3  4
5 6 7 8
9 10 11 12
13 14 15 16

新矩阵必须是这样的:

16 12 8 4 
15 11 7 3
14 10 6 2
13 9 5 1
<小时/>

这是我的代码:

package test5;

public class test5 {

public static void main(String[] args) {
int[][] nums = new int[4][4];

nums[0][0] = 1;
nums[0][1] = 2;
nums[0][2] = 3;
nums[0][3] = 4;

nums[1][0] = 5;
nums[1][1] = 6;
nums[1][2] = 7;
nums[1][3] = 8;

nums[2][0] = 9;
nums[2][1] = 10;
nums[2][2] = 11;
nums[2][3] = 12;

nums[3][0] = 13;
nums[3][1] = 14;
nums[3][2] = 15;
nums[3][3] = 16;

for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums.length; j++) {

System.out.print(nums[i][j] + " ");
}
System.out.println();
}
}
}

所以任何人都可以帮助我???

最佳答案

如果您需要自己做,请尝试以下操作:

    public class MatrixTranspose {
static int m1[][] = new int[][]{{1, 2, 3, 4, 5}, {5, 6, 7, 8, 9}, {9, 10, 11, 12, 13}, {13, 14, 15, 16, 17}};
public static String toString(int[][] m) {
StringBuilder text = new StringBuilder();
for (int row = 0; row < m.length; row++) {
int r[] = m[row];
for (int col = 0; col < r.length; col++) {
if (col > 0) text.append(", ");
text.append(r[col]);
}
text.append("\n");
}
return text.toString();
}

public static int[][] transpose(int[][] m) {
int rows = m.length;
int cols = m[0].length;

int t[][] = new int[cols][]; // first create the empty transpose matrix
for (int trow = 0; trow < cols; trow++) {
t[trow] = new int[rows];
}

for (int row = 0; row < rows; row++) {
for (int col = 0; col < cols; col++) {
int tcol = rows-row-1; // transposed tcol is inverted row
int trow = cols-col-1; // transposed trow is inverted col
t[trow][tcol] = m[row][col];
}
}
return t;
}

public static void main(String...params) {
System.out.println(toString(m1));
System.out.println("--");
System.out.println(toString(transpose(m1)));
}
}

关于java - 如何根据右对角线交换对称矩阵的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27625388/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com