Advertisement
Jan_Rubin

Autobusove nadrazi - Max lidi v prubehu dne

Jan 18th, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.56 KB | None | 0 0
  1. /* Patra A-Z; nastupiste 0-99; kolik max lidi zustalo v prubehu dne na kterych nastupistich */
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int main(int argc, char** argv) {
  6.  
  7.     int pole[2600][2]={{0}};
  8.     char plus, patro;
  9.     int nast=0, kolik=0;
  10.     int x=0;
  11.     int pridat=0;
  12.     int max=0;
  13.    
  14.     printf("Zadejte udalosti:\n");
  15.     while(scanf(" %c%c%d:%d",&plus,&patro,&nast,&kolik)==4 && (plus=='+' || plus=='-')
  16.             && patro >='A' && patro <='Z' && nast>=0 && nast<=99 && kolik>0)
  17.     {
  18.         if(plus=='+')
  19.         {
  20.             pole[(100*(patro-65)) + nast][0]+=kolik;
  21.             if(pole[(100*(patro-65)) + nast][0] > pole[(100*(patro-65)) + nast][1])
  22.             {
  23.                 pole[(100*(patro-65)) + nast][1]=pole[(100*(patro-65)) + nast][0];
  24.             }
  25.         }
  26.         else
  27.         {
  28.             if(pole[(100*(patro-65)) + nast][0] >= kolik)
  29.             {
  30.                 pole[(100*(patro-65)) + nast][0]-=kolik;
  31.             }
  32.             else
  33.             {
  34.                 pole[(100*(patro-65)) + nast][0]=0;
  35.             }
  36.         }
  37.     }
  38.     if(!feof(stdin))
  39.     {
  40.         printf("Nespravny vstup.\n");
  41.         return 0;
  42.     }
  43.    
  44.     for(x=0; x<2600; x++)
  45.     {
  46.         if(pole[x][1]>max)max = pole[x][1];
  47.     }
  48.     printf("Nejvice zustalo: %d lidi, nastupiste: ",max);
  49.     for(x=0; x<2600; x++)
  50.     {
  51.         if(pole[x][1]==max)
  52.         {
  53.             if(pridat) printf(", ");
  54.             printf("%c%d", (x/100)+65, (x%100));
  55.             pridat=1;
  56.         }
  57.     }
  58.     printf("\n");
  59.    
  60.     return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement