用c++按行序输入 个M*N的整数矩阵(3<=M<=25 3<=N<=25 (即:先输入第0行,然后输入第1行,....最后输入第M-1行) 要求: 3>按列序输出(即:先输出第e列,然后输出第1列,最后输出第N-1列 2>将s加到其余各行(2行,3行...M-2行,M-1行)所有元素上 1>求出前两行(0行,1行)所有元素值为奇数之和s: 输入数据格式 行数 列数 整数00 整数01 整数02… 整数10 整数11 整数12… …
时间: 2024-03-21 22:43:45 浏览: 143
好的,以下是 C++ 的代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int m, n;
cin >> m >> n;
// 读取矩阵
int matrix[25][25];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> matrix[i][j];
}
}
// 计算前两行所有元素值为奇数之和 s
int s = 0;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < n; j++) {
if (matrix[i][j] % 2 == 1) {
s += matrix[i][j];
}
}
}
// 将 s 加到其余各行所有元素上
for (int i = 2; i < m; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] += s;
}
}
// 按列序输出矩阵
for (int j = 0; j < n; j++) {
for (int i = 0; i < m; i++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
您可以按照以下格式输入数据:
```
3 3
1 2 3
4 5 6
7 8 9
```
其中第一行为行数和列数,接下来的每一行表示矩阵的一行。运行程序后,您将得到如下输出:
```
8 11 14
11 14 17
14 17 20
```
其中第一列为原矩阵的第二列,第二列为原矩阵的第一列,最后一列为原矩阵的倒数第二列。
阅读全文