Qus==>>
Случайным образом создать таблицу троек вещественных
значений и записать её в текстовый файл в виде:
X Y Z
5.2 4.6 2.5
1.2 8.9 2.3
-------------------------
Считать из файла записанные
данные и поменять их значения так, чтобы получилось X≥Y≥Z. Поместить результат в другой текстовый файл.#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include<stdlib.h>
#include <math.h>
#include <time.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
time_t t;
srand (time(&t));
FILE *f,*g,*h,*k;
char ch1='X',ch2='Y',ch3='Z',p;
int i,num,n1,n2;
float number1,number2,number3;
f=fopen("d:\\9.txt","w");
g=fopen("d:\\9.txt","r");
h=fopen("d:\\9ans.txt","w");
k=fopen("d:\\9ans.txt","r");
cout<<"Enter a number..";
cin>>num;
fprintf(f,"X\tY\tZ\n");
cout<<"X\tY\tZ\n"<<endl;
for(i=0;i<num;i++)
{
number1=rand()%30*0.1;
number2=rand()%50*0.1;
number3=rand()%20*0.1;
fprintf(f,"%2.2f\t%2.2f\t%2.2f\n",number1,number2,number3);
cout<<number1<<"\t"<<number2<<"\t"<<number3<<endl;
}
cout<<endl<<endl;
fclose(f);
//fprintf(h,"X\tY\n");
fscanf(g,"%c\t%c\t%c\n",&ch1,&ch2,&ch3);
cout<<"\nX is biggest\t"<<" Y is Middle\t"<<"Z is Smallest "<< endl<< endl<< endl;
cout<<"X >=\t Y >= Z \n"<<endl<<endl;
fprintf(h,"X\tY\tZ\n");
for(i=0;i<num;i++)
{
fscanf(g,"%f\t%f\t%f\n ",&number1,&number2,&number3);
if(number1>=number2 && number1>=number3 )
{ if ( number2>=number3)
{fprintf(h,"%2.2f\t%2.2f\t%2.2f\n",number1,number2,number3);
cout<<number1<<"\t"<<number2<<"\t"<<number3<<endl;}
else
{ fprintf(h,"%2.2f\t%2.2f\t%2.2f\n",number1,number3,number2);
cout<<number1<<"\t"<<number3<<"\t"<<number2<<endl;}
}
if(number2>=number1 && number2>=number3 )
{ if ( number1>=number3)
{fprintf(h,"%2.2f\t%2.2f\t%2.2f\n",number2,number1,number3);
cout<<number2<<"\t"<<number1<<"\t"<<number3<<endl;}
else{
fprintf(h,"%2.2f\t%2.2f\t%2.2f\n",number2,number3,number1);
cout<<number2<<"\t"<<number3<<"\t"<<number1<<endl;}
}
if(number3>=number1 && number3>=number2 )
{ if (number2>=number1)
{fprintf(h,"%2.2f\t%2.2f\t%2.2f\n",number3,number2,number1);
cout<<number3<<"\t"<<number2<<"\t"<<number1<<endl;}
else {
fprintf(h,"%2.2f\t%2.2f\t%2.2f\n",number3,number1,number2);
cout<<number3<<"\t"<<number1<<"\t"<<number2<<endl;
}
}
}
cout << "\n r u ok ? " ;
getch();
fclose(f);
fclose(g);
fclose(h);
fclose(k);
return 0;
}