Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- typedef char String[60];
- typedef struct
- {
- int rastojanje;
- int brzina;
- int delay;
- int broj_zicare;
- double vreme;
- }zicara;
- typedef struct
- {
- String ime;
- int godiste;
- int brzina;
- int broj_zicare;
- int vreme_cekanja;
- }skijas;
- void UnosPodataka( String datZicare, zicara zicare[], int *broj_zicara, String datSkijasi, skijas skijasi[], int *broj_skijasa)
- {
- int i;
- FILE *f = fopen( datZicare, "r");
- fscanf( f, "%d", broj_zicara );
- for(i=0; i<*broj_zicara; i++)
- {
- fscanf( f, "%d\n%d\n%d\n", &zicare[i].rastojanje,
- &zicare[i].brzina,
- &zicare[i].delay);
- zicare[i].broj_zicare = i + 1;
- zicare[i].vreme = (double) zicare[i].rastojanje / zicare[i].brzina;
- }
- f = fopen( datSkijasi, "r");
- fscanf( f, "%d", broj_skijasa );
- for( i=0; i < *broj_skijasa; i++)
- {
- fscanf( f, "%s\n%d\n%d\n", skijasi[i].ime,
- &skijasi[i].godiste,
- &skijasi[i].brzina,
- &skijasi[i].broj_zicare);
- skijasi[i].vreme_cekanja = 0;
- }
- fclose(f);
- }
- void OdrediCekanje( zicara zicare[], int broj_zicara, skijas skijasi[], int broj_skijasa)
- {
- int i, j, proteklo_vreme, trenutna_zicara;
- for( i=0, trenutna_zicara = 0; i < broj_skijasa; i++)
- {
- for( j=trenutna_zicara; j < broj_zicara; j++, proteklo_vreme += zicare[i].delay)
- {
- if( j+1 == skijasi[i].broj_zicare)
- {
- skijasi[i].vreme_cekanja = proteklo_vreme;
- proteklo_vreme += zicare[i].delay;
- trenutna_zicara = j;
- j++;
- break;
- }
- }
- if( j == broj_zicara)
- j=0;
- }
- }
- void Ispis( zicara zicare[], int broj_zicara, skijas skijasi[], int broj_skijasa)
- {
- int i;
- printf("Zicare:\n");
- for( i = 0; i < broj_zicara; i++)
- printf("Rastojanje: %d\nBrzina: %d\nDelay: %d\n\n", zicare[i].rastojanje,
- zicare[i].brzina,
- zicare[i].delay);
- printf("\nSkijasi:\n");
- for( i = 0; i < broj_skijasa; i++)
- printf("Ime: %s\nGodiste: %d\nBrzina: %d\nVreme cekanja: %d\n\n", skijasi[i].ime,
- skijasi[i].godiste,
- skijasi[i].brzina,
- skijasi[i].vreme_cekanja);
- }
- int main()
- {
- int broj_zicara, broj_skijasa;
- zicara zicare[50];
- skijas skijasi[50];
- UnosPodataka("1.txt", zicare, &broj_zicara, "2.txt", skijasi, &broj_skijasa);
- OdrediCekanje(zicare, broj_zicara, skijasi, broj_skijasa);
- Ispis( zicare, broj_zicara, skijasi, broj_skijasa);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement