Advertisement
antos944

Untitled

Nov 21st, 2014
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.18 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.  
  12.     for(int k=0; k < iloscDni; k++)
  13.     {
  14.         int iloscOperacji;
  15.         scanf("%d",&iloscOperacji);
  16.  
  17.         char cos;
  18.         std::string temat;
  19.  
  20.         int iloscWykladow = 0;
  21.  
  22.         int godzinaRozpoczecia;
  23.         int minutaRozpoczecia;
  24.  
  25.         int godzinaZakonczenia;
  26.         int minutaZakonczenia;
  27.  
  28.         int tablicaRozpoczec[iloscOperacji];
  29.         int tablicaZakonczen[iloscOperacji];
  30.  
  31.         int tmp1,tmp2;
  32.  
  33.         for(int i=0; i < iloscOperacji; i++)
  34.         {
  35.             scanf("%d%c%d%c%d%c%d",&godzinaRozpoczecia,&cos,&minutaRozpoczecia,&cos,&godzinaZakonczenia,&cos,&minutaZakonczenia);
  36.  
  37.             getline(std::cin,temat);
  38.  
  39.             godzinaRozpoczecia*=60;
  40.             godzinaRozpoczecia+=minutaRozpoczecia;
  41.  
  42.             godzinaZakonczenia*=60;
  43.             godzinaZakonczenia+=minutaZakonczenia;
  44.  
  45.             tablicaRozpoczec[i] = godzinaRozpoczecia;
  46.             tablicaZakonczen[i] = godzinaZakonczenia;
  47.         }
  48.  
  49.         int pomoc;
  50.  
  51.         printf("\n");
  52.  
  53.             int j;
  54.             for(int i=1; i < iloscOperacji; i++)
  55.             {
  56.  
  57.  
  58.                 tmp1 = tablicaRozpoczec[i];
  59.                 tmp2 = tablicaZakonczen[i];
  60.  
  61.                 for(j = i - 1; (j >= 0) && (tablicaRozpoczec[j] > tmp1) || ((tablicaRozpoczec[j] == tmp1) && (tablicaZakonczen[j] >= tmp2)) ; j-- )
  62.                 {
  63.  
  64.                        // (tablicaRozpoczec[i-1] == tablicaRozpoczec[i]) &&
  65.                     if((tablicaZakonczen[i] <  tablicaZakonczen[i-1]))
  66.                     {
  67.                         pomoc = tablicaZakonczen[i];
  68.                         tablicaZakonczen[i]=tablicaZakonczen[i-1];
  69.                         tablicaZakonczen[i-1] = pomoc;
  70.                     }
  71.  
  72.  
  73.                     tablicaRozpoczec[j+1] = tablicaRozpoczec[j]; //przesuwanie elementów
  74.                     tablicaZakonczen[j+1] = tablicaZakonczen[j];
  75.  
  76.                 }
  77.                 tablicaRozpoczec[j+1] = tmp1;
  78.                 tablicaZakonczen[j+1] = tmp2;
  79.             }
  80.  
  81.  
  82.         printf("posortowana tablica rozpoczec\n");
  83.  
  84.         for(int i = 0; i < iloscOperacji; i++)
  85.         {
  86.             printf("%d ",tablicaRozpoczec[i]);
  87.         }
  88.         printf("\n");
  89.  
  90.         printf("posortowana tablica zakonczen\n");
  91.  
  92.         for(int i = 0; i < iloscOperacji; i++)
  93.         {
  94.             printf("%d ",tablicaZakonczen[i]);
  95.         }
  96.         printf("\n");
  97.  
  98.  
  99.  
  100.         std::cout<<"jeszcze raz wyswietlam tablice - od koncow"<<std::endl;
  101.  
  102.         int i = 0;
  103.         int pomocnicza=0;
  104.         int p=0;
  105.  
  106.         while(i != iloscOperacji)
  107.         {
  108.             pomocnicza = tablicaRozpoczec[p]+30;
  109.             printf("pomocnicza: %d\n",pomocnicza);
  110.  
  111.  
  112.             if(pomocnicza <= tablicaZakonczen[i+1])
  113.             {
  114.                 iloscWykladow++;
  115.                 p++;
  116.                 i++;
  117.             }
  118.             else
  119.             {
  120.                 p++;
  121.                 i++;
  122.             }
  123.  
  124.         }
  125.  
  126.  
  127.         printf("%d",iloscWykladow);
  128.  
  129.  
  130.  
  131.     printf("\n");
  132.     }
  133.     printf("\n\n");
  134.     return 0;
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement