Să se scrie un program în C++ care realizează următoarele:
a. Citește de la tastatură un vector x cu m componente numere întregi;
b. Afișează valoarea maximă din vector;
c. Afiseaza media aritmetică a componentelor vectorului x cuprinse în intervalul [a; b] unde a și b sunt două valori întregi citite de la tastatură;
d. Afișează suma componentelor negative aflate pe poziții pare;
e. Afișează câte componente din vector sunt numere prime;
Răspunsuri la întrebare
#include <iostream>
#include <algorithm>
using namespace std;
bool EstePrim(int n);
int main()
{
int m;
int a, b;
int cnt = 0;
float ma = 0;
int x[1001];
int maxim = -1e9;
int suma = 0;
int cnt_prim = 0;
cin >> m >> a >> b;
for (int i = 1; i <= m; i++)
{
cin >> x[i];
maxim = max (x[i], maxim);
if (x[i] < 0 && i % 2 == 0)
suma += x[i];
if (EstePrim(x[i]))
cnt_prim++;
}
for (int i = a; i <= b; i++)
{
ma += x[i];
cnt++;
}
cout << maxim << ' ' << ma / cnt << ' ' << suma << ' ' << cnt_prim;
}
bool EstePrim(int n)
{
if (n < 2) return false;
if (n == 2) return true;
if (n % 2 == 0)
return false;
for (int d = 3; d * d <= n; d += 2)
if (n % d == 0)
return false;
return true;
}