Advertisement
antos944

Untitled

Nov 22nd, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.09 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string>
  3. #include <iostream>
  4.  
  5. int main ()
  6. {
  7.  
  8.     int iloscDni;
  9.     scanf("%d",&iloscDni);
  10.  
  11.     for(int k=0; k < iloscDni; k++)
  12.     {
  13.         printf("\n");
  14.  
  15.         int iloscOperacji;
  16.         scanf("%d",&iloscOperacji);
  17.  
  18.         char cos;
  19.         std::string temat;
  20.  
  21.         int iloscWykladow = 0;
  22.  
  23.         int godzinaRozpoczecia;
  24.         int minutaRozpoczecia;
  25.  
  26.         int godzinaZakonczenia;
  27.         int minutaZakonczenia;
  28.  
  29.         int tablicaRozpoczec[iloscOperacji];
  30.         int tablicaZakonczen[iloscOperacji];
  31.  
  32.         int tmp1,tmp2;
  33.  
  34.         for(int i=0; i < iloscOperacji; i++)
  35.         {
  36.             scanf("%d%c%d%c%d%c%d",&godzinaRozpoczecia,&cos,&minutaRozpoczecia,&cos,&godzinaZakonczenia,&cos,&minutaZakonczenia);
  37.  
  38.             getline(std::cin,temat);
  39.  
  40.             godzinaRozpoczecia*=60;
  41.             godzinaRozpoczecia+=minutaRozpoczecia;
  42.  
  43.             godzinaZakonczenia*=60;
  44.             godzinaZakonczenia+=minutaZakonczenia;
  45.  
  46.             tablicaRozpoczec[i] = godzinaRozpoczecia;
  47.             tablicaZakonczen[i] = godzinaZakonczenia;
  48.         }
  49.  
  50.             int j;
  51.             for(int i=1; i < iloscOperacji; i++)
  52.             {
  53.                 tmp1 = tablicaRozpoczec[i];
  54.                 tmp2 = tablicaZakonczen[i];
  55.  
  56.                 for(j = i - 1; (j >= 0) && (tablicaRozpoczec[j] > tmp1) || ((tablicaRozpoczec[j] == tmp1) && (tablicaZakonczen[j] > tmp2)) ; j-- )
  57.                 {
  58.                     tablicaRozpoczec[j+1] = tablicaRozpoczec[j]; //przesuwanie elementów
  59.                     tablicaZakonczen[j+1] = tablicaZakonczen[j];
  60.  
  61.                 }
  62.                 tablicaRozpoczec[j+1] = tmp1;
  63.                 tablicaZakonczen[j+1] = tmp2;
  64.             }
  65.  
  66.         int i = 0;
  67.         int pomocnicza=0;
  68.  
  69.         int p;
  70.  
  71.         while(i < iloscOperacji)
  72.         {
  73.  
  74.             {
  75.                 if (pomocnicza > tablicaRozpoczec[i] && pomocnicza < tablicaZakonczen[i])
  76.                 {
  77.                     iloscWykladow++;
  78.                     pomocnicza+=30;
  79.  
  80.  
  81.                     int j;
  82.                     for(p = i+1; p < iloscOperacji; p++)
  83.                     {
  84.                         tmp1 = tablicaRozpoczec[p];
  85.                         tmp2 = tablicaZakonczen[p];
  86.  
  87.                         for(j = p - 1; (j >= 0) && (tablicaRozpoczec[j] > tmp1) || ((tablicaRozpoczec[j] == tmp1) && (tablicaZakonczen[j] > tmp2)) ; j-- )
  88.                         {
  89.                             tablicaRozpoczec[j+1] = tablicaRozpoczec[j]; //przesuwanie elementów
  90.                             tablicaZakonczen[j+1] = tablicaZakonczen[j];
  91.  
  92.                         }
  93.                         tablicaRozpoczec[j+1] = tmp1;
  94.                         tablicaZakonczen[j+1] = tmp2;
  95.                     }
  96.  
  97.                 }
  98.                 else
  99.                 if(pomocnicza <= tablicaRozpoczec[i])
  100.                 {
  101.                     iloscWykladow++;
  102.                     pomocnicza=tablicaRozpoczec[i]+30;
  103.                 }
  104.                 i++;
  105.             }
  106.         }
  107.         printf("%d\n",iloscWykladow);
  108.     }
  109.     return 0;
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement