Я пишу короткую программу для сортировки массива целых чисел. У меня проблемы с открытием входного файла, который называется "prog1.d". Присвоение попросило создать символическую ссылку в каталоге программ, и после создания объекта и исполняемого файла мы вызываем программу следующим образом ...
prog1.exe < prog1.d &> prog1.out
Я знаю, что моя сортировка пузырьков работает правильно и эффективно, потому что я использовала свой собственный тестовый txt файл.
В задании говорится:
Ваша программа получает случайные целые числа из stdin и помещает их в массив, сортирует целые числа в массиве в порядке возрастания, а затем отображает содержимое массива на стандартный вывод.
Как мне прочитать файл с помощью 'cin' до EOF и добавить целые числа в мой массив a []?
Вот мой код:
int main( int argc, char * argv[] )
{
int a[SIZE];
for ( int i=1; i<argc; i++)
{
ifstream inFile; // declare stream
inFile.open( argv[i] ); // open file
// if file fails to open...
if( inFile.fail() )
{
cout << "The file has failed to open";
exit(-1);
}
// read int's & place into array a[]
for(int i=0; !inFile.eof(); i++)
{
inFile >> a[i];
}
inFile.close(); // close file
}
bubbleSort(a); // call sort routine
printArr(a); // call print routine
return 0;
}
Я знаю, что открытие потока - это неправильный способ сделать это, я просто использовал его для тестового файла 'txt', который использовал, чтобы убедиться, что моя сортировка работает. Учитель сказал, что мы должны перенаправить ввод в 'cin', как будто кто-то вводит целые числа с клавиатуры.
Любая помощь будет принята с благодарностью.