程序是生成20个随机数,然后存进f1文本文件里,然后再从f1文本文件读出20个随机数进行比较,再把重新排序以后的20个数存进f2里
代码和报错如图
#include <iostream>
#include <fstream>
#include <ctime>
#include <cstdlib>
using namespace std;
void save_to_file(int *a,char *file);
void selected_sort(int *a);
int i;
int main()
{
srand((unsigned)time(NULL));
int a[20],i;
for (i=0;i<20;i++)
{
a[i]=rand()%100;
}
save_to_file(a,"E:\\f1.dat");
fstream infile("E:\\f1.dat",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for(i;i<20;i++)
{
infile>>*(a+i);
}
infile.close();
selected_sort(a);
save_to_file(a,"E:\\f2.dat");
}
void save_to_file(int *a,"E:\\f1.dat")
{
fstream outfile("E:\\f1.dat",ios::out);
if(!outfile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for (i=0;i<20;i++)
{
outfile<<*(a+i)<<'\0';
cout<<*(a+i)<<'\0';
}
outfile.close();
cout<<'\n';
cout<<"20 numbers have been saved.";
}
void seleted_sort(int *a)
{
int i,j,k,t;
for(i=0;i<19;i++)
{
for(j=i+1;j<10;j++)
{
if (*(a+j)>*(a+i))
{
t=*(a+i);
*(a+j)=*(a+i);
*(a+i)=t;
}
}
}
cout<<"the select_sort results:";
for(i=0;i<20;i++)
{
cout<<a[i]<<'\0';
}
}