将一个二维数组行和列元素互换,存到另一个二维数组中并输出这两个矩阵。 原始矩阵如下: 1 4 5 6 3 2 7 8 7 9 0 3
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main() {
int arr[ROWS][COLS] = {{1, 4, 5, 6}, {3, 2, 7, 8}, {7, 9, 0, 3}};
int new_arr[COLS][ROWS];
// 输出原始矩阵
printf("原始矩阵:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("\n");
// 将行和列元素互换,并存入新的矩阵中
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
new_arr[j][i] = arr[i][j];
}
}
// 输出新的矩阵
printf("互换后的矩阵:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d ", new_arr[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}
该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
要将一个二维数组的行和列互换,可以遍历原始矩阵,将每个元素的行和列交换后存入新的矩阵中。以下是一种 C 语言的实现方式:
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main()
{
int matrix[ROWS][COLS] = { {1, 4, 5, 6}, {3, 2, 7, 8}, {7, 9, 0, 3} };
int transposed[COLS][ROWS];
int i, j;
// 遍历原始矩阵,将行和列交换后存入新矩阵
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
transposed[j][i] = matrix[i][j];
}
}
// 输出原始矩阵
printf("Original matrix:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
// 输出转置矩阵
printf("Transposed matrix:\n");
for (i = 0; i < COLS; i++) {
for (j = 0; j < ROWS; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
在这个程序中,我们首先定义了一个 $3\times 4$ 的原始矩阵 matrix
,和一个 $4\times 3$ 的转置矩阵 transposed
。随后,我们遍历 matrix
中的每个元素,将其行和列交换后存入 transposed
中。最后,输出原始矩阵和转置矩阵。
输出结果如下:
Original matrix:
1 4 5 6
3 2 7 8
7 9 0 3
Transposed matrix:
1 3 7
4 2 9
5 7 0
6 8 3
可以看出,原始矩阵的行和列已经互换,并存入了转置矩阵中。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
不知道你这个问题是否已经解决, 如果还没有解决的话:对每一组需要检查的序列,如果其生成的二叉搜索树跟对应的初始序列生成的一样,输出“Yes”,否则输出“No”。
可以使用如下的代码实现将一个二维数组的行和列元素互换,并将互换后的结果输出到另一个二维数组中:
#include <iostream>
using namespace std;
void display(int c[][3])
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
cout << c[i][j] << " ";
cout << endl;
}
}
void exchange(int a[][3], int m, int n, int b[][3])
{
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
b[j][i] = a[i][j];
}
int main()
{
int a[3][3] ={ {1, 2, 3},
{4, 5, 6},
{7, 8, 9} };
int b[3][3];
int m = 3, n = 3;
exchange(a, m, n, b);
display(b);
return 0;
}
运行以上代码,可以看到输出结果为:
1 4 7
2 5 8
3 6 9