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

Scrie un program care:
a) citește un număr natural nenul n și un șir din n numere naturale;
b) afișează din șirul introdus numerele prime și numărul lor. Dacă nu a fost introdus niciun
număr prim, atunci programul va afișa mesajul „Șirul introdus nu conține numere prime”.
Exemplu: pentru n=7 și șirul: 20, 11, 22, 19, 21, 23, 10 programul va afișa:
” Șirul introdus conține 3 numere prime: 11 19 23 ”.
Cerințe:
1. Textul programului va conține in formă de comentariu formularea sarcinii : 1 pt.
2. La executare programul va afișa ce va face, iar citirea datelor va fi însoțită de dialog cu
utilizatorul: 1 pt.
3. Pentru realizarea corectă a algoritmului programului: 8pt.
La temă, pe Classroom va fi încărcat fișierul main.cpp.

Răspunsuri la întrebare

Răspuns de Sergetec
3

Salut!

Ai mai jos rezolvarea problemei in limbajul C++

#include <iostream>

using namespace std;

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;

}

int main()

{

 int n, a[1000], b[1000], cnt = 0;

 cin >> n; //citim n

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

 {

   cin >> a[i]; //citim sirul de numere

 }

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

 {

   if (prim(a[i])) //verificam daca numnarul este prim

   {

     cnt++;

     b[cnt] = a[i]; //copiem numarul din vectorul a in vectorul b, crescand cnt

   }

 }

 if (cnt == 0) //verificam daca nu exista numere prime

 {

   cout << "Sirul introdus nu contine numere prime";

 }

 else

 {

   cout << "Sirul introdus contine " << cnt << " numere prime: ";

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

   {

     cout << b[i] << " ";

   }

 }

 return 0;

}


TheTEE: ne e corect
TheTEE: nu e corect
Sergetec: Ei bine, motive pentru care ar putea sa "nu fie corect" cum spui tu, ar putea sa fie din cauza faptului ca: nu ai mentionat cat de lungi va fi sirul de numere, cat de mari vor fi numerele sau pentru ca eu nu am folosit diacritice la afisare
Sergetec: Dar eu te asigur ca eu mi am testat propriul cod si este corect
TheTEE: ai dreptate
TheTEE: am gresit eu
TheTEE: scuze
Alte întrebări interesante