C ++错误和问题

时间:2016-12-14 12:04:25

标签: c++

代码和错误的图片: 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]例如。请帮忙。

1 个答案:

答案 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只是为了将大多数指针/低级操作留在引擎盖下。