代码和错误的图片: https://puu.sh/sPat1/da5b011ac6.png https://puu.sh/sPavZ/ad81dc6386.png
问题:这是一个从1到49,3次生成600个数字的程序。总共1800个数字。我如何查看所有数字,我的意思是包括1次,包括2,3,4,5,6。 。 。 48,49 ..< - 仅在阵列中的一个a [100] [6]例如。请帮忙。
答案 0 :(得分:0)
您可以创建另一个索引来自[0..49]的数组/向量,并在每次遇到原始数组中的值时递增所需的索引:
int arr[100][6];
//fill it
int check[50];
for(int i = 0; i < 50; i++)
check[i] = 0;
for(int i = 0; i < 100; i++)
for(int j = 0; j < 6; j++)
check[arr[i][j]]++;
//now check has a list of occurences for 0, 1, 2, ..., 49
至于代码风格,我建议远离像100,50这样的魔术常量,并使用像
这样的东西const int max_random = 50;
const int mat_width = 100;
const int mat_height = 6;
此外,对于C ++,鼓励使用std :: vector而不是通常的数组 - 创建STL只是为了将大多数指针/低级操作留在引擎盖下。