👤

Sa se scrie un program care memoreaza n numere intregi intr-o structura de tip coada. Sa se stearga numerele care nu sunt prime din varful cozii pana cand se intalneste un numar prim. Sa se afiseze pe ecran rezultatul.

Răspuns :

#include <iostream>

#include <queue>

using namespace std;

//Functie ce verifica daca un numar este prim

bool estePrim(int n) {

for (int i = 2; i <= n / 2; i++)

 if (n % i == 0) return false;

return true;

}

int main() {

int n, curent;

queue<int> coada;

cout << "Nr elemente : ";

cin >> n;

for (unsigned i = 0; i < n; i++) {

 cin >> curent;

 coada.push(curent);

}

while (!coada.empty() && !estePrim(coada.front()))

 coada.pop();

cout << "Elemente ramase : ";

while (!coada.empty()) {

 cout << coada.front() << " ";

 coada.pop();

}

}

► Explicatie

Limbajul C++ ne pune la dispozitie o coada prin intermediul Standard Template Library (STL). Pentru a folosi coada includem antetul <queue>. Pentru a declara o coada cu elemente de tip intreg si numele coada folosim "queue<int> coada".

Operatiile pe care le punem efectua pe o coada din STL :

  • Adaugare element (push) : spre exemplu coada.push(5) va insera valoarea 5 in coada
  • Accesare element din capul cozii (front) : spre exemplu coada.front() va returna elementul din capul cozii
  • Stergere element din capul cozii (pop) : spre exemplu coada.pop() va sterge primul element din coada.
  • Verificarea daca coada este goala (empty) : spre exemplu coada.empty() va returna true daca coada e goala, 0 altfel.

Retinem faptul ca o coada functioneaza dupa principiul primul venit primul plecat (FIFO - first in, first out).

___________________

Poate te intereseaza si urmatoarele materiale :

► Exempli exercitiu cu cozi din STL :

https://brainly.ro/tema/9930272

► Exercitiu cu coada implementata manual :

https://brainly.ro/tema/8870756

Vezi imaginea ANDREI750238