Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki, turiu isspresti tokia uzduoti, panaudodamas masyva:

Surašyti mokinių ūgiai centimetrais, skaičias su minuso ženklu pažymėti merginų ūgiai, be vaikinų. Pirmoje duomenų failo eilutėje įrašytas mokinių skaičius n(n<30). Apskaičiuoti mokinių ugiu vidurkį.

Duomenų failas:

13

-178

175

-186

172

173

175

-185

-180

-169

165

176

172

-180

Redagavo audrelis10
Nuoroda į pranešimą
Dalintis kituose puslapiuose

int n,vaik,sum;
double vid;
int MAS[30];
fd>>n;
sum=0;
for(int i=1; i<=n; i++)
   {
   fd>>MAS[i];
   if(MAS[i]<0)MAS[i]=MAS[i]*(-1);
   sum=sum+MAS[i];


   }
vid=(double)sum/n;
cout<<fixed<<setprecision(2)<<vid;

return 0;
}

na nezinau sukuriau tokia programele, taciau nepaleidzia man jos :(

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tokį pat išsprendęs turiu:

#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
using namespace std;
void duom(int A[], int &n);
void mvug (int A[],int n, int M[], int B[], int &msk, int &bsk);
double vid (int A[], int n);
int kiek (int A[], int n);
void rez (int A[], int M[], int B[], int n, int msk, int bsk);
int main ()
{
   int A[100], M[100], B[100];
   int n, i, msk, bsk;
   duom(A,n);
   mvug (A,n,M,B,msk,bsk);
   rez (A,M,B,n,msk,bsk);
   return 0;
}

void duom(int A[], int &n)
{
   int i;
   ifstream fd("duom.txt");
   fd>>n;
   for(i=1;i<=n;i++)
   {
       fd>>A[i];
   }
   fd.close();

}

void mvug (int A[],int n, int M[], int B[], int &msk, int &bsk)
{
   int i;
   msk=0;
   bsk=0;
   for(i=1;i<=n;i++)
   {
       if(A[i]>0)
       {msk=msk+1;
       M[msk]=A[i];}
       else
       {bsk=bsk+1;
       B[bsk]=A[i];}
   }

}

double vid (int A[], int n)
{
   double sum,uvid;
   int i;
   sum=0;
   for (i=1;i<=n;i++)
   {
   if (A[i]<0)
   A[i]=A[i]*-1;
   sum=sum+A[i];
   }
   uvid=sum/n;
   return uvid;
}

int kiek (int A[], int n)
{
  int i,k;
  k=0;
  for (i=1;i<=n;i++)
  {
      if (A[i]<0)
      A[i]=A[i]*-1;
      if (A[i]>=175)
      k=k+1;
  }
  return k;
}

void rez (int A[], int M[], int B[], int n, int msk, int bsk)
{
ofstream fr ("rez.txt");
   fr<<setw(6)<<fixed<<setprecision(2)<<vid(A,n)<<endl;
   fr<<setw(6)<<fixed<<setprecision(2)<<vid(M,msk)<<endl;
   fr<<setw(6)<<fixed<<setprecision(2)<<vid(B,bsk)<<endl;
   if(kiek(M,msk)>=7)
   fr<<"Merginu komanda sudryti galima"<<endl;
   else
   fr<<"Merginu komandos sudryti negalima"<<endl;
   if(kiek(B,bsk)>=7)
   fr<<"Berniuku komanda sudryti galima"<<endl;
   else
   fr<<"Berniuku komandos sudryti negalima"<<endl;
fr.close ();
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Aš irgi radau savo spręsta biggrin.gif


#include<iostream>
#include<fstream>
#include<iomanip>
//--------------
void ivedimas(int & n, int & v, int & m, double & vidurkis, int V[], int M[]);
double vidv(int v, int V[]);
double vidm(int m, int M[]);
bool tikrinimasv(int V[], int v);
bool tikrinimasm(int M[], int m);
void isvedimas(double vidurkis, double vaikinuvid, double merginuvid, bool vk, bool mk);
//--------------
using namespace std;
int main()
{
int n,v,m,V[20], M[20]; double vidurkis, vaikinuvid, merginuvid; bool vk, mk;
ivedimas(n,v,m, vidurkis, V, M);
vaikinuvid = vidv(v,V);
merginuvid = vidm(m,M);
vk = tikrinimasv(V,v);
mk = tikrinimasm(M,m);
isvedimas(vidurkis,vaikinuvid,merginuvid,vk,mk);
return 0;
}
void ivedimas(int & n, int & v, int & m, double & vidurkis, int V[], int M[])
{
int ug,isviso; 
ifstream fr ("Duom.txt");
fr >> n;
v = 0; m = 0; isviso = 0; 
for (int i = 1; i <= n; i++) {
	fr >> ug;
	isviso = isviso + abs(ug);
	if (ug<0) {
		V[v] = abs(ug);
		v++;
	}
	if (ug>0) {
		M[m] = abs(ug);
		m++;
	}	
}
fr.close();
vidurkis = (double) isviso / n;
}
double vidv(int v, int V[])
{

double vaikinusum, vaikinuvid;
vaikinusum = 0;
for(int i = 0; i < v; i++) {
	vaikinusum += V[i];
}
vaikinuvid = (double) vaikinusum / v;
return vaikinuvid;
}
double vidm(int m, int M[])
{
double merginusum, merginuvid;
merginusum = 0;
for(int i = 0; i < m; i++) {
	merginusum += M[i];
}
merginuvid = (double) merginusum / m;
return merginuvid;
}
bool tikrinimasv(int V[], int v)
{
int a; bool c;
a = 0;
for(int i = 0; i < v; i++) {
	if(V[i] >= 175) {
		a++;
	}
}
if(a>=7) {
	c = true;
}
if (a<7) {
	c = false;
}
return c;
}
bool tikrinimasm(int M[], int m)
{
int b; bool d;
b = 0;
for(int i = 0; i < m; i++) {
	if(M[i] >= 175) {
		b++;
	}
}
if(b>=7) {
	d = true;
}
if (b<7) {
	d = false;
}
return d;
}
void isvedimas(double vidurkis, double vaikinuvid, double merginuvid, bool vk, bool mk)
{
ofstream fd ("Rez.txt");
fd << fixed << setprecision(1) <<  vidurkis << endl;
fd << fixed << setprecision(2) << merginuvid << endl;
fd << fixed << setprecision(2) << vaikinuvid << endl;
if (mk == true) {
	fd << "Merginu komanda sudaryti galima" << endl;
}
if (mk == false) {
	fd << "Merginu komandos sudaryti negalima" << endl;
}
if (vk == true) {
	fd << "Vaikinu komanda sudaryti galima" << endl;
}
if (vk == false) {
	fd << "Vaikinu komandos sudaryti negalima" << endl;
}
}

 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...