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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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