用c++按行序输入一个M*N的整数矩阵(3<=M<=25,3<=N<=25) (即:先输入第0行,然后输入第1行,...最后输入第M-1行) 要求:1>求出前两行(0行,1行)所有元素最大值s: 2)将S加到其余各行(2行,3行,…M-2行,M-1行)所有元素上 3>按列序输出(即:先输出第0列,然后输出第1列,...最后输出第N-1列) 输入效据格式: 行数 列数 整效00 整数01 整数02… 整数10 整数11 整数12… …
时间: 2024-03-23 09:35:55 浏览: 60
输入矩阵阶数n,给n阶矩阵的元素按行序由1到n*n顺序赋值,然后将其向右旋转90度,输出旋转后的矩阵。
以下是用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];
}
}
// 求前两行最大值
int s = matrix[0][0];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < n; j++) {
if (matrix[i][j] > s) {
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;
}
```
输入格式为:
```
行数 列数
整数00 整数01 整数02 ... 整数0n
整数10 整数11 整数12 ... 整数1n
...
整数m-10 整数m-11 整数m-12 ... 整数m-1n
```
例如,输入:
```
4 3
1 2 3
4 5 6
7 8 9
10 11 12
```
则输出:
```
11 12 13
14 15 16
17 18 19
23 24 25
```
阅读全文