Last active
September 28, 2020 01:19
-
-
Save ampulhetadosaber/dd508da20819240c668870af976a87b1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <queue> | |
using namespace std; | |
int main() | |
{ | |
queue<int> fila; | |
int n; | |
// Adicionando n elementos | |
cin >> n; | |
for(int i = 0 ; i < n ; i++) | |
{ | |
int id; | |
cin >> id; | |
fila.push(id); | |
} | |
// Removendo os n elementos da frente da fila | |
for(int i = 0 ; i < n ; i++) fila.pop(); | |
/* | |
Agora imagine uma situação em que há k pessoas inicialmente em uma fila para sacarem | |
cada um uma quantia diferente de dinheiro e queremos saber quanto dinheiro foi sacado | |
no final enquanto administramos a fila. Cada pessoa tem um id, que vai aumentando de | |
1 em 1 a partir do primeiro de acordo com que as pessoas entram na fila. | |
*/ | |
int atv; // variável que vai definir que atividade realizar | |
int din; // quantidade de dinheiro sacado por cada pessoa | |
int dintotal;// quantidade de dinheiro sacada por todas as pessoas juntas | |
int k; | |
cin >> k; | |
for(int i = 1 ; i < k + 1 ; i++) fila.push(i); // adicionando as pessoas iniciais na fila | |
while(cin >> atv) | |
{ | |
if(atv == 1) // Se a atividade for 1, vamos adicionar alguém na fila ao final da fila | |
{ | |
int id; | |
cin >> id; | |
fila.push(id); | |
} | |
else if(atv == 2) // Se a atividade for 2, vamos atender atender a primeira pessoa da fila | |
{ | |
cin >> din; // quantidade de dinheiro que a pessoa sacou | |
dintotal += din; | |
fila.pop(); // excluimos a pessoa que acabamos de atender da fila | |
} | |
if(fila.empty()) // se a fila estiver vazia, encerramos o processo | |
break; | |
} | |
cout << dintotal; // após acabar o processo, imprimimos a todo o dinheiro sacado | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment