Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdbool.h>
- bool comunicarDecision(int, int, int);
- int main() {
- int maxClientes;
- int numGruposTotal;
- int numGruposAtendidos = 0;
- int numClientesEnInterior = 0;
- // recopilado de datos iniciales
- printf("Numero maximo de clientes en el establecimiento: ");
- scanf("%d", &maxClientes);
- printf("Numero de grupos de personas que van a entrar: ");
- scanf("%d", &numGruposTotal);
- int paxGrupo[numGruposTotal];
- for(int i=0; i<numGruposTotal; ++i) {
- printf("Numero de personas que integran el grupo #%d: ", i+1);
- scanf("%d", &paxGrupo[i]);
- }
- // pasan grupos hasta llenar el local
- while(numGruposAtendidos < numGruposTotal && comunicarDecision(maxClientes, paxGrupo[numGruposAtendidos], numClientesEnInterior)) {
- numClientesEnInterior += paxGrupo[numGruposAtendidos++];
- }
- // mientras haya grupos que necesiten pasar
- while(numGruposAtendidos < numGruposTotal) {
- int numClientesSaliendo;
- printf("Numero de clientes que abandonan el local: ");
- scanf("%d", &numClientesSaliendo);
- numClientesEnInterior -= numClientesSaliendo;
- if(comunicarDecision(maxClientes, paxGrupo[numGruposAtendidos], numClientesEnInterior)) {
- numClientesEnInterior += paxGrupo[numGruposAtendidos++];
- }
- }
- }
- bool comunicarDecision(int maxClientes, int numClientesGrupo, int numClientesEnInterior) {
- if(numClientesGrupo + numClientesEnInterior > maxClientes) {
- puts("espera");
- return false;
- }
- puts("pasa");
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement