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

Urgent!!Daca ma poate ajuta cineva la aceasta problema cu cozi.


Să se creeze o coada cu numerele întregi preluate de la tastatura. Se cere să se adauge după fiecare număr din coada cifra de control a numărului respectiv. Să se afişeze conţinutul cozii înainte şi după modificare, fiecare afişare pe câte un rând (cifra de control pentru 1468 este 1 (1+4+6+8=19; 1+9=10; 1+0=1)).

Răspunsuri la întrebare

Răspuns de andrei750238
2

#include <iostream>

#include <queue>

using namespace std;

//Algoritm rapid pentru cifra de control

int cifra_control(int n) {

if (n == 0) return 0;

int c = n % 9;

if (n == 0) return 9;

else return c;

}

//Fucntie pentru afisarea cozii

void print_queue(queue<int> q) {

while (!q.empty()) {

 //Afisare element capul cozii

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

 //Stergere element din capul cozii

 q.pop();

}

}

int main() {

int n;

int curent;

queue<int> coada;

cout << "Nr elemente : ";

cin >> n;

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

 cin >> curent;

 coada.push(curent);

}

cout << "\nCoada initiala : ";

print_queue(coada);

//Adaugare dupa fiecare element cifra de control

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

 //Calculeaza CC pentru primul element din coada

 int cc = cifra_control(coada.front());

 //Inseareaza in spatele cozii elementul alaturi cu cifra de control

 coada.push(coada.front());

 coada.push(cc);

 //Sterge elementul din capul cozii

 coada.pop();

}

cout << "\nCoada prelucrata : ";

print_queue(coada);

}

Anexe:
Alte întrebări interesante