C++
Cerinţa
Să se scrie un program care citeşte de la tastatură un număr natural n şi apoi un şir de n numere naturale şi determină media aritmetică a celor pare.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale.
Date de ieşire
Programul afișează pe ecran numărul M, reprezentând media aritmetică a valorilor pare.
Restricţii şi precizări
0 < n < 1000
cele n numere citite vor fi mai mici decât 1000000
rezultatul va fi punctat dacă diferența dintre cel afișat de program și cel corect este mai mică decât 0.01.
în toate seturile de date de intrare se vor afla şi valori pare
Exemplu
Intrare:
5
8 7 8 9 10
Ieșire:
8.66
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
#include <algorithm>
#include <iomanip>
using namespace std;
int n, s, v[1005];
int main()
{
cin >> n;
for(int i = 1; i <= n; i++) cin >> v[i];
cout << setprecision(3) << accumulate(v + 1, v + n + 1, 0, [] (int x, int a) { return ~a & 1 ? s++, x + a : x; }) / (float)s;
}
#include <algorithm>
#include <iomanip>
using namespace std;
int n, s, v[1005];
int main()
{
cin >> n;
for(int i = 1; i <= n; i++) cin >> v[i];
cout << setprecision(3) << accumulate(v + 1, v + n + 1, 0, [] (int x, int a) { return ~a & 1 ? s++, x + a : x; }) / (float)s;
}
Utilizator anonim:
Mi-a dat eroare de calcul.
medie.cpp:9:27: error: 'setprecision' was not declared in this scope
cout << setprecision(3) << accumulate(v + 1, v + n + 1, 0, [] (int x, int a) { return ~a & 1 ? s++, x + a : x; }) / (float)s;
^
medie.cpp:9:117: error: 'accumulate' was not declared in this scope
cout << setprecision(3) << accumulate(v + 1, v + n + 1, 0, [] (int x, int a) { return ~a & 1 ? s++, x + a : x; }) / (float)s;
Alte întrebări interesante
Studii sociale,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă
Matematică,
10 ani în urmă
Matematică,
10 ani în urmă
Biologie,
10 ani în urmă