Informatică, întrebare adresată de Lukawargg, 8 ani în urmă

Am o problema la info care imi cere media aritmetica a numerelor pare si impare intre 5 numere care se dau de la tastatura. Problema trebuie facuta doar cu instructiunea IF. Eu am facut problema dar nu imi da corect. Var rog daca stiti sa imi spuneti ce am gresit...

#include

using namespace std;

int main()
{
int a,b,c,d,e,au,bu,cu,du,eu,ap=0,ai=0,bp=0,bi=0,cp=0,ci=0,dp=0,di=0,ep=0,ei=0,mp,mi,p=0,i=0;
cin >>a>>b>>c>>d>>e;
cout <<"Media aritmetica numerelor pare este :"<<" "< cout <<"Media aritmetica numerelor impare este :"<<" "< au=a%10;
bu=b%10;
cu=c%10;
du=d%10;
eu=e%10;
mp=(ap+bp+cp+dp+ep)/p;
mi=(ai+bi+ci+di+ei)/i;
if (au==0 or au==2 or au==4 or au==6 or au==8){
p++;
ap=a;
}
else {
i++;
ai=a;
}
if (bu==0 or bu==2 or bu==4 or bu==6 or bu==8) {
p++;
bp=b;
}
else {
i++;
bi=b;
}
if (cu==0 or cu==2 or cu==4 or cu==6 or cu==8) {
p++;
cp=c;
}
else {
i++;
ci=c;
}
if (du==0 or du==2 or du==4 or du==6 or du==8) {
p++;
dp=d;
}
else {
i++;
di=d;
}
if (eu==0 or eu==2 or eu==4 or eu==6 or eu==8) {
p++;
ep=e;
}
else {
i++;
ei=e;
}
return 0;
}


ovdumi: calcularea mediilor aritmetice si afisarea rezultatelor (cout) se face la urma, cand ai separat parele de impare
ovdumi: inaintea instructiunii return
ovdumi: atentie la sintaxa lui cout<<"media aritmetica pare este "<
ovdumi: cout<<"media aritmetica impare este "<
ovdumi: vad ca nu se tipareste un < dar stii prea bine cum e cout
ovdumi: deci sterge cout si mp si mi de la inceput si le pui la urma
ovdumi: float mp,mi,i,p; si mai modifica cu ++i si ++p
ModernMind: N-are sens ca la nivelul lui sa schimbe i++ in ++i, mai bine ii explicai cum sa mai scoata din variabilele acelea, ca a pus multe si inutile.
ovdumi: vrea si el sa-si vada cum ar fi sa fie programul lui
ModernMind: Si cu ce-l ajuta pe el ca pune ++i in loc de i++? Mai mult il baga in ceata

Răspunsuri la întrebare

Răspuns de ModernMind
1

Programul scris de tine are multe greseli si nu are sens sa il corectez.

Am scris eu un algoritm pentru aceasta problema.

#include <iostream>

using namespace std;

int main()

{

   int a,b,c,d,e,cf=0,ci=0;

   float mf=0,mi=0;

   cin>>a;

   if(a%2==0)

   {

       mf=mf+a;

       cf++;

   }

   else

   {

       mi=mi+a;

       ci++;

   }

   cin>>b;

   if(b%2==0)

   {

       mf=mf+b;

       cf++;

   }

   else

   {

       mi=mi+b;

       ci++;

   }

   cin>>c;

   if(c%2==0)

   {

       mf=mf+c;

       cf++;

   }

   else

   {

       mi=mi+c;

       ci++;

   }

   cin>>d;

   if(d%2==0)

   {

       mf=mf+d;

       cf++;

   }

   else

   {

       mi=mi+d;

       ci++;

   }

   cin>>e;

   if(e%2==0)

   {

       mf=mf+e;

       cf++;

   }

   else

   {

       mi=mi+e;

       ci++;

   }

   mf=mf/cf;

   mi=mi/ci;

   cout<<"Media aritmetica a numerelor pare este: "<<mf<<endl;

   cout<<"Media aritmetica a numerelor impare este: "<<mi<<endl;

   return 0;

}

Alte întrebări interesante