请用C++来解决问题:用二维数组产生8行9列的随机二位正整数,并找出每列的最小数
时间: 2024-12-19 09:23:48 浏览: 13
蓝桥杯比赛 NOC竞赛C++项目选择题真题和模拟题180题汇总
在C++中,你可以使用`#include <iostream>`、`#include <cstdlib>`和`#include <ctime>`来生成随机整数和设置时间种子以获得伪随机性。下面是一个示例程序,它会生成一个8行9列的二维数组,包含随机的二进制正整数,然后遍历每一列找到最小值:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
const int ROWS = 8;
const int COLS = 9;
int arr[ROWS][COLS]; // 二维数组
srand(time(0)); // 设置随机数种子
// 生成并填充二维数组
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
arr[i][j] = rand() % 2 + 1; // 随机生成1到2之间的整数(即二进制1或2)
}
}
std::cout << "Random binary numbers in a 8x9 array:" << std::endl;
// 打印数组
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
}
// 找出每列的最小值
int* min_values = new int[COLS]; // 存储每列最小值
for (int col = 0; col < COLS; ++col) {
min_values[col] = INT_MAX; // 初始化为最大值
for (int row = 0; row < ROWS; ++row) {
if (arr[row][col] < min_values[col]) {
min_values[col] = arr[row][col];
}
}
std::cout << "Minimum value in column " << col+1 << ": " << min_values[col] << std::endl;
}
delete[] min_values; // 释放内存
return 0;
}
阅读全文