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

Cerinţa
Se dă un vector cu n elemente, numere naturale. Să se înlocuiască toate elementele nule din vector cu partea întreagă a mediei aritmetice a elementelor nenule din vector.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, reprezentând elementele vectorului.

Date de ieşire
Programul afișează pe ecran elementele vectorului, după înlocuire.

Restricţii şi precizări
1 ≤ n ≤ 200
elementele vectorului vor fi mai mici decât 1000
vectorul va conține cel puțin un element nenul

Exemplu
Intrare

5
0 2 0 4 5
Ieșire

3 2 3 4 5

#include

using namespace std;

int main()
{
int n,a[201],s=0,ma;
cin>>n;
for(int i=0; i cin>>a[i];
for(int i=0; i {
{
s=s+a[i];
}
}

ma=s/n;

for(int i=0;i {
if(a[i]==0)
a[i]=ma;
}
for(int i=0;i cout<

return 0;
}
PS: NU IMI CALCULEZA MA BINE
IMI AFISEAZA 2 2 2 4 5
dau coroana

Răspunsuri la întrebare

Răspuns de valibaiacof1289
1

Răspuns:

#include <iostream>

using namespace std;

int main()

{int s=0,n,a[200],i,ma,x=0;

cin>>n;

for(i=1;i<=n;i++) cin>>a[i];

for(i=1;i<=n;i++) if(a[i]!=0) {s+=a[i]; x++;

ma=s/x;

for(i=1;i<=n;i++) if(a[i]==0) a[i]=ma;

for(i=1;i<=n;i++) cout<<a[i]<<" ";

return 0;

}

Explicație: Ai grija ca la vectori, "i" porneste de la 1 nu de la 0!

                  Si nu am cum sa corctez ce ai scris pentru ca nu e complet si nu pot sa vad cum ai gandit!

Alte întrebări interesante