我正在寫一個簡短的程序來對整數數組進行排序。我無法打開我的輸入文件「prog1.d」。轉讓已要求創建的程序目錄的符號鏈接,和我創建對象&可執行文件後,我們調用該程序如下...使用標準輸入重定向輸入
prog1.exe < prog1.d &> prog1.out
我知道我的冒泡排序的有效工作正常&,因爲我已經使用了我自己的測試'txt'文件。
分配說:
你的程序從標準輸入獲取隨機整數,並將它們放入一個數組,按升序排列數組中排序整數,然後在stdout上顯示數組的內容。
如何使用'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',就像有人在鍵盤上輸入整數一樣。
任何幫助將不勝感激。
你冒泡作品有效率的?這是一個矛盾。 –
哈哈,不錯。我的意思是它的工作。更好? – bluetickk
@Benjamin Lindley:巫婆中罕見的情況是,一個良好實施的泡泡排序超過了所有其他常用的排序算法。 – Nobody