eMatematikas Prisijunk Forumas VBE užduotys ONLINE testai

C++ Uždavinys su masyvu. Taip pat su fstream.


Sveiki mokykloje pradėjom mokytis masyvą. Gal galite padėti išspręsti šią užduotį?

http://imgur.com/a/uEBYs

Šita kodo dalis skirta nuskaityti failo duomenims ir į masyvą M[] įrašyti ūgius.
ifstream fd("Duomenys.txt");
int n;
fd>>n;
int M[n];
int i;
for(i=0;i<n;i++) fd>>M[i];
fd.close();

pakeista prieš 7 m

Šita kodo dalis skaičiuoja visų mokinių ūgių vidurkį:
int sum=0;
for(i=0;i<n;i++) sum+=abs(M[i]);
float vid1=(float)sum/n;


Šita kodo dalis skaičiuoja visų merginų ūgių vidurkį:
sum=0;
int m=0;
for(i=0;i<n;i++)
if (M[i]>0)
{
m++;
sum+=M[i];
}
float vid2=(float)sum/m;


Šita kodo dalis skaičiuoja visų vaikinų ūgių vidurkį:
sum=0;
int v=0;
for(i=0;i<n;i++)
if (M[i]<0)
{
v++;
sum+=abs(M[i]);
}
float vid3=(float)sum/v;


Šita kodo dalis nustato, ar galima sudaryti komandą iš merginų:
bool merg_kom=false;
if(m>=7)
{
m=0;
for(i=0;i<n;i++)
if(M[i]>=175) m++;
}
if(m>=7) merg_kom=true;

Šita kodo dalis nustato, ar galima sudaryti komandą iš vaikinų:
bool vaik_kom=false;
if(v>=7)
{
v=0;
for(i=0;i<n;i++)
if(abs(M[i])>=175) v++;
}
if(v>=7) vaik_kom=true;

Galiausiai apskaičiuotas reikšmes įrašome į kitą failą:
ofstream fr("Rezultatai.txt");
fr<< setprecision(4) << vid1 << endl << setprecision(5) << vid2 << endl << setprecision(5) << vid3 << endl;
if(merg_kom) fr << "Merginu komanda sudaryti galima" << endl;
else fr << "Merginu komandos sudaryti negalima" << endl;
if(vaik_kom) fr << "Vaikinu komanda sudaryti galima";
else fr << "Vaikinu komandos sudaryti negalima";
fr.close();

Ačiū labai! :)

Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »