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ăspunsuri la întrebare
#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