我正在写一个简短的程序来对整数数组进行排序。我无法打开我的输入文件“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