karlangadas

Parking

Oct 24th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.33 KB | None | 0 0
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include "Pila.h"
  5. #define MAX 10
  6.  
  7. int main(int argc, char** argv) {
  8.     TPila P;
  9.     TPila  AUX;
  10.     int ncasos,stack,ncarrosmov;
  11.     TElemento car,caraux;
  12.     char sit;//sitva a ser L o S
  13.  
  14.     scanf("%d\n",&ncasos);
  15.     stack=0;
  16.  
  17.     while (ncasos--){
  18.             scanf("%c",&sit);
  19.         scanf("%d\n",&car);
  20.         //Si llega un carro
  21.         if (sit=='L'){
  22.             //Ingresará si hay menos de 10 carros en el estacionamiento
  23.             if (stack<MAX){
  24.                 printf("Hay vacante %d\n",car);
  25.                 Pila_push(&P,car);
  26.                 stack++;
  27.                
  28.             }
  29.             else{
  30.                 printf("No hay vacante para %d\n",car);
  31.             }
  32.         }
  33.         //Si sale un carro
  34.         if (sit=='S'){
  35.             ncarrosmov=0;
  36.             //DEsapilamos hasta encontrar el carro
  37.             caraux=Pila_pop(&P);
  38.             while (caraux!=car){
  39.                 Pila_push(&AUX,caraux);
  40.                 ncarrosmov++;
  41.                 caraux=Pila_pop(&P);    
  42.             }
  43.             printf("%d carros movidos\n",ncarrosmov);
  44.             stack--;
  45.             //Volvemos a apilar
  46.             while(ncarrosmov--){
  47.                Pila_push(&P, Pila_pop(&AUX));
  48.             }
  49.         }
  50.  
  51.     }  
  52.     return (EXIT_SUCCESS);  
  53. }
Advertisement
Add Comment
Please, Sign In to add comment