我一直在做一些阅读,关于如何创建一组数字并在C++中使用for循环填充这些数组。到处都说我需要使用矢量。我已经创建了数组并使用向量填充它们(我认为)。当我编译并运行显示数组时,一切正常。当我尝试显示数组的内容时,程序编译好,但运行时崩溃。在屏幕上显示矢量
我想创建100个数组,每次增加500个元素。 (这是一个任务,我们需要测试的算法的有效性。)
unsigned int numArrays = 100;
unsigned int arraySize = 0;
//Create holder variable:
unsigned int randomInt = 0;
//Create the arrays:
std:vector<std::vector<int> > arrays(numArrays);
for(std::size_t i=0; i< numArrays; i++){
arraySize = i * 500;
vector<int> temp;
temp.reserve(arraySize);
for(int j=0; j< arraySize; j++){
//Generate Random number:
randomInt = rand();
//Add the number to the array:
temp.push_back(randomInt);
}
arrays.push_back(temp);
}
for(int i=0; i<arrays.size(); i++){
cout << "{";
for(int j=0; j<arrays.at(i).size() - 1; j++){
cout << arrays.at(i).at(j) << ",";
}
cout << arrays.at(i).back() << "}" << endl;
}
我认为错误是某处最终嵌套循环,但我不知道。提前致谢。
没有什么东西突出在我身上。但是你有没有试过调试这个程序?使用gdb?你应该可以运行它,然后回溯到错误发生的地方 – silvergasp