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

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

Răspuns de andrei750238
1

#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

Anexe:
Alte întrebări interesante