【发布时间】:2021-06-27 03:34:02
【问题描述】:
我正在编写一些具有 2 个功能的代码。我相信第一个功能没有问题。第一个是创建填充随机数的 10x10 矩阵,第二个函数是打印矩阵。我遇到的问题是,即使声明了行和列大小,矩阵也会打印在一行中,而不是网格状。当限制达到 10 时,我尝试使用 setw 结束行。我是编程新手,所以我不确定为什么数组没有按应有的方式打印。
这是我的代码:
#include <iostream>
#include <ctime>
#include <iomanip>
#include <cstdlib>
using namespace std;
const int ROW_SIZE = 10;
const int COLUMN_SIZE = 10;
void initialize(int [][10], int, int);
void display(int matrix[][10], int, int);
int main() {
int matrix [ROW_SIZE][COLUMN_SIZE];
initialize(matrix, ROW_SIZE, COLUMN_SIZE);
display(matrix, ROW_SIZE,COLUMN_SIZE);
return 0;
}
//question 1
void initialize(int matrix[][COLUMN_SIZE], int ROW_SIZE, int COLUMN_SIZE){
for (int i = 0; i < ROW_SIZE; i++){
for(int j = 0; j < COLUMN_SIZE; j++){
matrix[i][j] = 1 + rand() % 99;
}
}
}
//question 2
void display(int matrix[][COLUMN_SIZE], int ROW_SIZE, int COLUMN_SIZE){
for(int i = 0; i < ROW_SIZE; i++){
for(int j = 0; j < COLUMN_SIZE; j++){
cout<< setw(4)<<matrix[i][j]<< " ";
}
}
cout<< endl;
}
【问题讨论】:
-
既然是C++,为什么不做一个矩阵类呢?
-
提示:每行打印完后,
std::cout << std::endl.
标签: c++ arrays function loops matrix