infoarena

infoarena - concursuri, probleme, evaluator, articole => Teme => Subiect creat de: A Cosmina - vechi din Februarie 14, 2009, 13:56:04



Titlul: media temperaturilor
Scris de: A Cosmina - vechi din 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:


Titlul: Răspuns: media temperaturilor
Scris de: Sima Cotizo din 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).


Titlul: Răspuns: media temperaturilor
Scris de: A Cosmina - vechi din 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  :-k


Titlul: Răspuns: media temperaturilor
Scris de: gaboru corupt din Februarie 14, 2009, 16:17:27
initializeaza spoz si sneg cu 0 la inceput... + ca trebuie sa afiseze 4 si -3.75


Titlul: Răspuns: media temperaturilor
Scris de: A Cosmina - vechi din Februarie 14, 2009, 20:24:04
acum merge, multumesc frumos  =D&gt;