Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2015
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. typedef struct stanica
  5. {
  6. char naziv[20];
  7. int udaljenost;
  8. } stanica;
  9.  
  10. typedef struct autom
  11. {
  12. int regbroj;
  13. int pocudalj;
  14. int brzina;
  15. stanica *pokazivac;
  16. } autom;
  17.  
  18. void Ucitavanje(char argv1[],char argv2[],int *ns,int *na,stanica **stanice,autom **auti)
  19. {
  20. FILE *IN=fopen(argv1,"r");
  21. if (IN==NULL)
  22. {
  23. fprintf(stderr,"greska pri otvaranju datoteke %s",argv1);
  24. exit(1);
  25. }
  26.  
  27. FILE *INN=fopen(argv2,"r");
  28. if (INN==NULL)
  29. {
  30. fprintf(stderr,"greska pri otvaranju datoteke %s",argv2);
  31. exit(1);
  32. }
  33.  
  34. fscanf(IN,"%d",ns);
  35. int i;
  36. *stanice=(stanica *) malloc((*ns)*sizeof(stanica));
  37. for (i=0;i<(*ns);i++)
  38. {
  39. fscanf(IN,"%s",(*stanice)[i].naziv);
  40. fscanf(IN,"%d",&(*stanice)[i].udaljenost);
  41. }
  42.  
  43. fscanf(INN,"%d",na);
  44. *auti=(autom *) malloc((*na)*sizeof(autom));
  45. for(i=0;i<(*na);i++)
  46. {
  47. fscanf(INN,"%d",&(*auti)[i].regbroj);
  48. fscanf(INN,"%d",&(*auti)[i].pocudalj);
  49. fscanf(INN,"%d",&(*auti)[i].brzina);
  50. }
  51. }
  52.  
  53. void Pronadji(autom kola,stanica stanice[],int ns)
  54. {
  55. int min; int j,i;
  56. for(i=0;i<ns;i++)
  57. {
  58. if (stanice[i].udaljenost>kola.pocudalj) { min=stanice[i].udaljenost-kola.pocudalj; j=i; }
  59. break;
  60. }
  61. for(;i<ns;i++)
  62. {
  63. if ((stanice[i].udaljenost-kola.pocudalj<min)&&(stanice[i].udaljenost-kola.pocudalj>=0))
  64. {
  65. min=stanice[i].udaljenost-kola.pocudalj;
  66. j=i;
  67. }
  68. }
  69. kola.pokazivac=&stanice[j];
  70. printf("%d %d\n",kola.regbroj,j);
  71. }
  72.  
  73. main(int argc,char *argv[])
  74. {
  75. int ns,na; autom *auti; stanica *stanice; int i;
  76. Ucitavanje(argv[1],argv[2],&ns,&na,&stanice,&auti);
  77. for(i=0;i<na;i++)
  78. {
  79. Pronadji(auti[i],stanice,ns);
  80. }
  81.  
  82.  
  83. for(i=0;i<na;i++)
  84. {
  85. printf("%d %s",i,(auti[i].pokazivac).naziv);
  86. }
  87.  
  88.  
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement