Ce este gresit ?
Cerinţa
Se dă un vector cu n numere întregi. 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 cuprinse între -1000 și 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
Explicație
Elementele nenule din vectorul dat sunt 2, 4 și 5. Media lor aritmetică este 3.666, iar partea întreagă a ei este
Anexe:
Razzvy:
Daca vrei sa-ti vezi greselile, incearca sa afisezi mai multe lucruri la un exemplu. De exemplu, afiseaza suma s si vezi daca e buna. Apoi, incearca un exemplu cu numere negative(ti se spune ca elementele pot fi mai mari de -1000).
Răspunsuri la întrebare
Răspuns de
0
Aici ai rezolvarea in C++. Sa iti fie de folos.
#include <iostream>
using namespace std;
int ParteIntreaga(int a[], int n)
{
int sum = 0;
int cnt = 0;
for(int i = 0;i<n;i++)
{
if(a[i] != 0)
{
sum += a[i];
cnt++;
}
}
float ma = (float)sum / (float)cnt;
int pi = (int)ma;
return pi;
}
void Afisare(int a[], int n)
{
for(int i = 0; i < n; i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}
int main()
{
int m[] = {0, 2, 0, 4, 5};
int n = 5;
Afisare(m,n);
for(int i = 0; i < n;i++)
{
if (m[i] == 0)
m[i] = ParteIntreaga(m,n);
}
Afisare(m,n);
return 0;
}
Alte întrebări interesante
Istorie,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă