Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <iostream>
- void dodaj(int *tabRoz, int *tabZak, int iloscOperacji)
- {
- int godzinaRozpoczecia;
- int godzinaZakonczenia;
- int minutaRozpoczecia;
- int minutaZakonczenia;
- char znak;
- std::string temat;
- int i;
- for(i =0 ; i < iloscOperacji; i++)
- {
- scanf("%d%c%d%c%d%c%d",&godzinaRozpoczecia,&znak,&minutaRozpoczecia,&znak,&godzinaZakonczenia,&znak,&minutaZakonczenia);
- getline(std::cin,temat);
- godzinaRozpoczecia*=60;
- godzinaRozpoczecia+=minutaRozpoczecia;
- godzinaZakonczenia*=60;
- godzinaZakonczenia+=minutaZakonczenia;
- tabRoz[i] = godzinaRozpoczecia;
- tabZak[i] = godzinaZakonczenia;
- }
- }
- void sortuj(int *tabRoz, int *tabZak, int ilOp, int miejsce = 1)
- {
- int tmp1 = 0;
- int tmp2 = 0;
- int j,i;
- for(i= miejsce; i < ilOp; i++)
- {
- tmp1 = tabRoz[i];
- tmp2 = tabZak[i];
- for(j = i - 1; (j >= 0) && (tabRoz[j] > tmp1) || ((tabRoz[j] == tmp1) && (tabZak[j] > tmp2)) ; j-- )
- {
- tabRoz[j+1] = tabRoz[j];
- tabZak[j+1] = tabZak[j];
- }
- tabRoz[j+1] = tmp1;
- tabZak[j+1] = tmp2;
- }
- }
- int sprawdzanie(int *tabRoz, int *tabZak, int ilOp)
- {
- int i = 0;
- int pomocnicza = 0;
- int miejsce = -1;
- int ilWyk = 0;
- while(i < ilOp)
- {
- if( pomocnicza > tabRoz[i] && pomocnicza < tabZak[i])
- {
- ilWyk++;
- pomocnicza += 30;
- for( int j = i; j<ilOp; j++)
- {
- if(tabZak[j] < pomocnicza && tabZak[i] != tabZak[j])
- {
- miejsce = j;
- }
- if(miejsce != -1)
- {
- sortuj(tabRoz,tabZak,ilOp, miejsce+1);
- }
- }
- }
- else
- if( pomocnicza <= tabRoz[i])
- {
- ilWyk++;
- pomocnicza = tabRoz[i] + 30;
- }
- i++;
- }
- return ilWyk;
- }
- int main()
- {
- int iloscDni;
- scanf("%d", &iloscDni);
- for(int k = 0; k < iloscDni; k++)
- {
- int iloscOperacji;
- scanf("%d", &iloscOperacji);
- int tablicaRozpoczec[iloscOperacji];
- int tablicaZakonczen[iloscOperacji];
- dodaj(tablicaRozpoczec, tablicaZakonczen, iloscOperacji);
- sortuj(tablicaRozpoczec, tablicaZakonczen, iloscOperacji, 0);
- printf("wyklad %d\n\n",sprawdzanie(tablicaRozpoczec, tablicaZakonczen, iloscOperacji));
- // printf("\n");
- // int i=0;
- // while(i < iloscOperacji)
- // {
- // printf("%d\t%d\n", tablicaRozpoczec[i], tablicaZakonczen[i]);
- // i++;
- // }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement