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

Rog frumos sa ma ajutati sa corectez programul dat in C ca sa imi dea datele de iesire(la etapa data datele de iesire nu se afiseaza)

Conditia:

Se citesc pe rând temperaturile medii ale fiecărei luni a unui an, ca numere întregi. Să se afişeze cu două zecimale media anuală a temperaturilor pozitive şi a celor negative. Exemplu: Date de intrare: -5 -3 18 12 17 20 21 18 10 6 -2.Date de ieşire: medie poz=13.66 medie_neg=-3.33.

Exemplul de program:

#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float temp[12],medPoz,medNeg,sumPoz=0,sumNeg=0;
int nrPoz=0,nrNeg=0,i;
scanf("%f %f %f %f %f %f %f %f %f %f %f %f", &temp[0], &temp[1], &temp[2], &temp[3], temp[4], &temp[5], &temp[6], &temp[7], &temp[8], &temp[9], &temp[10], &temp[11]);
for (i=0;i<12;i++)
{
if (temp[i]>=0)
{
sumPoz+=temp[i];
nrPoz++;
}
else
{
sumNeg+=temp[i];
nrNeg++;
}
}
medPoz=sumPoz/nrPoz;
medNeg=sumNeg/nrNeg;
medNeg=medNeg;
printf("Media poz = %.2f\nMedia neg = %.2f", medPoz, medNeg);
getch();
}​

Răspunsuri la întrebare

Răspuns de alexmis1311
1

Nu iti afiseaza pentru ca ai doar 11 luni in loc de 12 la datele de intrare. Presupun ca "18" de pe pozitia 3 trebuia sa fie defapt 1 si 8, deci: -5 -3 1 8 12 17 20 21 18 10 6 -2, dar cu datele astea nu iti da media pozitiva 13.66.

Codul tau merge bine (exceptand media pozitiva diferita)

Anexe:
Alte întrebări interesante