3. 数组练习题:矩阵转置 交换二维数组“int[ ][ ]array = {{91,25,8},{56,14,2},47,3,67}};”的行、列数据。
时间: 2023-08-19 18:39:40 浏览: 90
可以使用两个循环来实现矩阵的转置,具体步骤如下:
1. 先遍历数组,确定原始数组的行数和列数;
2. 创建一个新的数组,交换原始数组的行和列;
3. 将交换后的数据复制到新数组中。
下面是实现代码:
```java
int[][] array = {{91,25,8},{56,14,2},{47,3,67}};
// 获取原始数组的行数和列数
int rows = array.length;
int cols = array[0].length;
// 创建一个新的数组,并交换原始数组的行和列
int[][] transposedArray = new int[cols][rows];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
transposedArray[j][i] = array[i][j];
}
}
// 打印转置后的数组
for (int i = 0; i < cols; i++) {
for (int j = 0; j < rows; j++) {
System.out.print(transposedArray[i][j] + " ");
}
System.out.println();
}
```
输出结果:
```
91 56 47
25 14 3
8 2 67
```
相关问题
用初值初始化二维数组并转置矩阵输出c++
可以使用以下代码来实现:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int transposed[3][3];
// 转置矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
transposed[j][i] = arr[i][j];
}
}
// 输出原始矩阵
cout << "Original Matrix: " << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
// 输出转置矩阵
cout << "Transposed Matrix: " << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << transposed[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果为:
```
Original Matrix:
1 2 3
4 5 6
7 8 9
Transposed Matrix:
1 4 7
2 5 8
3 6 9
```
用C语言编写一个输入3x3的二维数组再将它转置的程序
以下是一个简单的 C 语言程序,它从用户输入一个 3x3 的二维数组,然后将其转置。
```c
#include <stdio.h>
int main()
{
int a[3][3], b[3][3];
int i, j;
printf("Enter a 3x3 matrix:\n");
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 < 3; j++) {
b[i][j] = a[j][i];
}
}
// 打印转置矩阵
printf("Transposed matrix:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
return 0;
}
```
该程序首先要求用户输入一个 3x3 的矩阵,然后通过两个嵌套的循环将其转置到另一个矩阵中,最后打印转置矩阵。
阅读全文