Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- typedef struct stanica
- {
- char naziv[20];
- int udaljenost;
- } stanica;
- typedef struct autom
- {
- int regbroj;
- int pocudalj;
- int brzina;
- stanica *pokazivac;
- } autom;
- void Ucitavanje(char argv1[],char argv2[],int *ns,int *na,stanica **stanice,autom **auti)
- {
- FILE *IN=fopen(argv1,"r");
- if (IN==NULL)
- {
- fprintf(stderr,"greska pri otvaranju datoteke %s",argv1);
- exit(1);
- }
- FILE *INN=fopen(argv2,"r");
- if (INN==NULL)
- {
- fprintf(stderr,"greska pri otvaranju datoteke %s",argv2);
- exit(1);
- }
- fscanf(IN,"%d",ns);
- int i;
- *stanice=(stanica *) malloc((*ns)*sizeof(stanica));
- for (i=0;i<(*ns);i++)
- {
- fscanf(IN,"%s",(*stanice)[i].naziv);
- fscanf(IN,"%d",&(*stanice)[i].udaljenost);
- }
- fscanf(INN,"%d",na);
- *auti=(autom *) malloc((*na)*sizeof(autom));
- for(i=0;i<(*na);i++)
- {
- fscanf(INN,"%d",&(*auti)[i].regbroj);
- fscanf(INN,"%d",&(*auti)[i].pocudalj);
- fscanf(INN,"%d",&(*auti)[i].brzina);
- }
- }
- void Pronadji(autom kola,stanica stanice[],int ns)
- {
- int min; int j,i;
- for(i=0;i<ns;i++)
- {
- if (stanice[i].udaljenost>kola.pocudalj) { min=stanice[i].udaljenost-kola.pocudalj; j=i; }
- break;
- }
- for(;i<ns;i++)
- {
- if ((stanice[i].udaljenost-kola.pocudalj<min)&&(stanice[i].udaljenost-kola.pocudalj>=0))
- {
- min=stanice[i].udaljenost-kola.pocudalj;
- j=i;
- }
- }
- kola.pokazivac=&stanice[j];
- printf("%d %d\n",kola.regbroj,j);
- }
- main(int argc,char *argv[])
- {
- int ns,na; autom *auti; stanica *stanice; int i;
- Ucitavanje(argv[1],argv[2],&ns,&na,&stanice,&auti);
- for(i=0;i<na;i++)
- {
- Pronadji(auti[i],stanice,ns);
- }
- for(i=0;i<na;i++)
- {
- printf("%d %s",i,(auti[i].pokazivac).naziv);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement