👤

Se citește un vector cu elemente numere naturale. Determinati suma elementelor pare ale vectorului și afișați câte dintre acestea sunt prime. Se vor scrie funcții pentru citirea elementelor vectorului, determinarea sumei și numărarea elementelor prime.​

Răspuns :

Salut!

Ai rezolvarea cu functii in C++ mai jos

#include <iostream>

using namespace std;

int n, a[1001];

void citire()

{

 cin >> n;

 for (int i = 1; i <= n; ++i)

 {

   cin >> a[i];

 }

}

void suma()

{

 int s = 0;

 for (int i = 1; i <= n; ++i)

 {

   if (a[i] % 2 == 0)

   {

     s += a[i];

   }

 }

 cout << s << ' ';

}

bool prim(int n)

{

 if (n <= 1)

 {

   return false;

 }

 else if (n != 2 && n % 2 == 0)

 {

   return false;

 }

 for (int i = 3; i * i <= n; i += 2)

 {

   if (n % i == 0)

   {

     return false;

   }

 }

 return true;

}

void afisarePrime()

{

 int cnt = 0;

 for (int i = 1; i <= n; ++i)

 {

   if (prim(a[i]))

   {

     cnt++;

   }

 }

 cout << cnt;

}

int main()

{

 citire();

 suma();

 afisarePrime();

 return 0;

}