c++输入两个整数n和m(小于10),输入n行m列矩阵,将这个矩阵逆时针旋转90度输出。
时间: 2024-03-09 20:47:50 浏览: 29
好的,这里是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int a[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> a[i][j];
}
}
for (int j = m - 1; j >= 0; j--) {
for (int i = 0; i < n; i++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
该程序首先输入矩阵的行数和列数n和m,然后定义一个n行m列的二维数组a,并用两重循环读入矩阵元素。接下来,我们逆时针旋转矩阵90度,可以发现逆时针旋转后的矩阵的第j列就变成了旋转前矩阵的第n-j-1行(下标从0开始)。因此,我们可以再次使用两重循环输出旋转后的矩阵,其中第一重循环遍历矩阵的列,第二重循环遍历矩阵的行,最后每行输出完毕后换行即可。
希望对你有所帮助!
相关问题
输入一个 n 行 m 列的数字矩阵 A ,将数字矩阵顺时针旋转 90 度后输出。c++
可以使用如下 Python 代码实现:
```
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
result = [[0] * len(A) for i in range(len(A[0]))]
for i in range(len(A)):
for j in range(len(A[0])):
result[j][len(A) - 1 - i] = A[i][j]
print(result)
```
输入的 A 是一个 n 行 m 列的数字矩阵,顺时针旋转 90 度后的结果存储在 result 中。
c++输入整数m和n,以及一个m行n列矩阵,输出各行的平均数值和差
非常感谢您的提问。以下是回答:
输入整数m和n,以及一个m行n列矩阵,输出各行的平均数值和差:
代码如下:
#include <stdio.h>
int main()
{
int m, n;
scanf("%d%d", &m, &n);
int matrix[m][n];
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
scanf("%d", &matrix[i][j]);
}
}
for (int i = 0; i < m; i++)
{
int sum = 0;
for (int j = 0; j < n; j++)
{
sum += matrix[i][j];
}
double avg = (double)sum / n;
printf("第%d行的平均数值为%.2lf,差为:", i + 1, avg);
for (int j = 0; j < n; j++)
{
printf("%.2lf ", (double)matrix[i][j] - avg);
}
printf("\n");
}
return 0;
}
输入样例:
3 4
1 2 3 4
5 6 7 8
9 10 11 12
输出样例:
第1行的平均数值为2.50,差为:-1.50 -0.50 0.50 1.50
第2行的平均数值为6.50,差为:-1.50 -0.50 0.50 1.50
第3行的平均数值为10.50,差为:-1.50 -0.50 0.50 1.50
希望能够帮助到您!