4、将M×N的矩阵转置成N×M的矩阵并输出,N和M由键盘输入。
时间: 2023-05-21 21:06:06 浏览: 124
以下是一个 C++ 的实现:
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int mat[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> mat[i][j];
}
}
for (int j = 0; j < m; j++) {
for (int i = 0; i < n; i++) {
cout << mat[i][j] << " ";
}
cout << endl;
}
return 0;
}
这段代码可以将一个 MxN 的矩阵转置为 NxM 的矩阵。首先,我们从键盘输入矩阵的行数和列数,并声明一个二维数组mat存储这个矩阵。接下来,我们使用两个 for 循环,一行一行地读取这个矩阵。最后,我们再使用两个 for 循环,一列一列地输出这个矩阵。
相关问题
用c语言 将M×N的矩阵转置成N×M的矩阵并输出,N和M由键盘输入。
以下是用 C 语言将 M×N 的矩阵转置成 N×M 的矩阵并输出的代码:
```c
#include <stdio.h>
int main() {
int m, n, i, j;
printf("请输入矩阵行数和列数,以空格分隔:\n");
scanf("%d %d", &m, &n);
int matrix[m][n], transpose[n][m];
printf("请输入矩阵元素:\n");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
printf("原矩阵为:\n");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
transpose[j][i] = matrix[i][j];
}
}
printf("转置矩阵为:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
printf("%d ", transpose[i][j]);
}
printf("\n");
}
return 0;
}
```
输入示例:
```
请输入矩阵行数和列数,以空格分隔:
3 4
请输入矩阵元素:
1 2 3 4
5 6 7 8
9 10 11 12
```
输出示例:
```
原矩阵为:
1 2 3 4
5 6 7 8
9 10 11 12
转置矩阵为:
1 5 9
2 6 10
3 7 11
4 8 12
```
编程计算并输出m×n阶矩阵的转置矩阵。其中,m和n的值由用户从键盘输入。已知m和n的值都不超过10。c++
可以使用二维数组来存储矩阵,然后通过循环将矩阵的元素赋值给转置矩阵的相应位置即可。以下是示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
int m, n;
int matrix[10][10], transpose[10][10];
// 从键盘读入矩阵的行数m和列数n
cout << "请输入矩阵的行数m和列数n(不超过10):" << endl;
cin >> m >> n;
// 从键盘读入矩阵的元素
cout << "请输入矩阵的元素:" << endl;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> matrix[i][j];
}
}
// 计算转置矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
transpose[i][j] = matrix[j][i];
}
}
// 输出转置矩阵
cout << "转置矩阵为:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << transpose[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
注意,这里假设用户输入的矩阵元素都是整数,如果需要支持小数或其他数据类型,可以根据实际情况进行修改。
阅读全文