用C++编写下面的题目: 定义一个5×5的数组,使用随机函数产生4×4的数据,把每行中前4个元素中最小的放在最后一列,形成5列,再把每列最大数放在最后一行,形成5行。 (要求数组元素的值为10到50之间的整数,每次运行程序数组的值不同)
时间: 2023-11-28 10:51:35 浏览: 97
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int arr[5][5];
srand(time(0)); // 初始化随机数种子
// 生成4x4的随机数组
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
arr[i][j] = rand() % 41 + 10; // 范围为10~50的随机整数
cout << arr[i][j] << "\t";
}
cout << endl;
}
// 将每行中前4个元素中最小的放在最后一列
for (int i = 0; i < 4; i++) {
int minVal = arr[i][0];
for (int j = 1; j < 4; j++) {
if (arr[i][j] < minVal) {
minVal = arr[i][j];
}
}
arr[i][4] = minVal;
}
// 将每列中最大数放在最后一行
for (int j = 0; j < 5; j++) {
int maxVal = arr[0][j];
for (int i = 1; i < 4; i++) {
if (arr[i][j] > maxVal) {
maxVal = arr[i][j];
}
}
arr[4][j] = maxVal;
}
// 输出变换后的数组
cout << endl;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
cout << arr[i][j] << "\t";
}
cout << endl;
}
return 0;
}
```
阅读全文