Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: media temperaturilor  (Citit de 4794 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« : Februarie 14, 2009, 13:56:04 »

Se citesc pe rand temperaturile medii ale fiecarei luni a unui an, ca numere intregi. Sa se afiseze cu doua zecimale media anuala a temperaturilor pozitive si a celor negative

Cod:
#include <iostream.h>
main()
{
int n,x,i,nrpoz=0,nrneg-0,mpoz=0,mneg=0;
n=12;
for (i=1;i<=n;i++)
{
cout<<"x=";
cin>>x;
if (x>=0)
{
  nrpoz++;
  mpoz=(mpoz+x)/nrpoz;
}
else
{
  nrneg++;
  mneg=(mneg+x)/nrneg;
}
cout<<mpoz;
cout<<mneg;
}

Ce gresec? Annoyed
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #1 : Februarie 14, 2009, 14:31:15 »

Doua observatii:
- toate datele cu care lucrezi sunt de tip int, dar mpoz si mneg ar trebui sa fie float sau double (ca sa poti discuta de "zecimale" cand faci impartire cu "/");
- formula pentru media aritmetica a 12 numere este (suma nr/12). In bucata asta de cod, tu faci altceva:
Cod:
  nrpoz++;
  mpoz=(mpoz+x)/nrpoz;
Ar trebui sa numeri nr pozitive si sa faci suma lor si la sfarsit, cand ai iesit din for, sa imparti la nr de nr pozitive (se aplica si la negative).
Memorat
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #2 : Februarie 14, 2009, 15:00:00 »

Am inteles cum spui tu:

Cod:
#include<iostream.h>
main()
{
int n,i,x,nrpoz=0,nrneg=0;
float mpoz,mneg,sneg,spoz;
n=12;
for (i=1;i<=n;i++)
{
cout<<"x=";
cin>>x;
if (x>=0)
{nrpoz++;
spoz=spoz+x;
}
else
{nrneg++;
sneg=sneg+x;
}
}
mpoz=spoz/nrpoz;
mneg=sneg/nrneg;
cout<<mpoz;
cout<<mneg;
}
Pentru numerele: 2,7,3,4,1,5,7,3,-2,-5,-7,-1 ar trebui sa afiseze: mpoz =3,875 mneg = -3,75. Afiseaza in loc mpoz =274 mneg = -3 ...Eu nu vreau acuma neaparat cu acele zecimale, insa nu inteleg ce are media pozitiva  Think
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #3 : Februarie 14, 2009, 16:17:27 »

initializeaza spoz si sneg cu 0 la inceput... + ca trebuie sa afiseze 4 si -3.75
Memorat
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #4 : Februarie 14, 2009, 20:24:04 »

acum merge, multumesc frumos  Applause
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines