我需要将文本文件读入数组。文本文件经过格式化,以便第一行包含数组大小,而以下几行是数组的元素:
6
5
3
2
1
6
4
数组大小等于6的地方。需要以以下格式读取文件:
a.exe < testfiles/input
这是我到目前为止的内容:
int main(){
int arraySize = 0;
cin >> arraySize;
int array[arraySize];
for(i = 1; i < arraySize; i++){
cin >> array[i];
}
for(j = 0; j < arraySize-1; j++){
//insertion sort here
}
}
该数组保持全零,但大小正确。谁能看到我的错误?
编辑:我已经修复了要动态分配的数组。程序现在可以正确执行,但是整个数组充满了文本文件的第二个条目,在本例中为5。
在C ++数组声明中,数组大小必须是整数const表达式。最简单的更改是使用动态数组:。
int main(){
using namespace std;
int arraySize = 0;
cin >> arraySize;
int * array = new int[arraySize];
for(int i = 1; i < arraySize; i++){
cin >> array[i];
}
for(int j = 0; j < arraySize-1; j++){
//insertion sort here
}
delete [] array;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句