1.定义4×5的二维数组,实现其转置
2.定义4×5的二维数组,求出最大值,最小值和平均值
3.实现两个二维数组相乘
3条回答 默认 最新
- 技术专家团-小桥流水 2022-06-13 11:26关注
1.矩阵转置
#include <iostream> using namespace std; int main() { int a[4][5], i, j; int b[5][4]; //输入二维数组 for (i = 0; i < 4; i++) { for (j = 0; j < 5; j++) cin >> a[i][j]; } //转置 for (i = 0; i < 5; i++) { for (j = 0; j < 4; j++) { b[i][j] = a[j][i]; } } //输出二维数组 for (i = 0; i < 5; i++) { for (j = 0; j < 4; j++) { if(j<3) cout << b[i][j] << " "; else cout << b[i][j] << endl; } } return 0; }
2.最大值、最小值、平均值:
#include <iostream> using namespace std; int main() { int a[4][5], i, j; int max, min; float ave = 0; //平均值 //输入二维数组 for (i = 0; i < 4; i++) { for (j = 0; j < 5; j++) { cin >> a[i][j]; ave += a[i][j]; if (i == 0 && j == 0) { max = min = a[0][0]; } else { if (a[i][j] > max) max = a[i][j]; if (a[i][j] < min) min = a[i][j]; } } } cout << "max=" << max << ",min=" << min << ",avg=" << ave/20 << endl; return 0; }
3.二维数组相乘
#include <iostream> using namespace std; int main() { int** a, ** b, ** c, i, j, k; int m, n; cout << "请输入二维数组a的行数和列数:"; cin >> m >> n; cout << "请输入" << m << "*" << n << "的二维数组a:" << endl; a = new int* [m]; for (i = 0; i < m; i++) { a[i] = new int[n]; for (j = 0; j < n; j++) cin >> a[i][j]; } cout << "请输入" << n << "*" << m << "的二维数组b:" << endl; b = new int* [n]; for (i = 0; i < n; i++) { b[i] = new int[m]; for (j = 0; j < m; j++) cin >> b[i][j]; } c = new int* [m]; for (i = 0; i < m; i++) { c[i] = new int[m]; for (j = 0; j < m; j++) { c[i][j] = 0; //行列相乘 for (k = 0; k < n; k++) c[i][j] += a[i][k] * b[k][j]; } } //输出 for (i = 0; i < m; i++) { for (j = 0; j < m; j++) { if (j < m - 1) cout << c[i][j] << " "; else cout << c[i][j] << endl; } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算