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

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

Răspuns de Mihai0572
0

#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;

}

Alte întrebări interesante