Advertisement
Guest User

Vjestine_dat

a guest
Jun 27th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.54 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<math.h>
  3. #include<stdlib.h>
  4. #include<string.h>
  5.  
  6. typedef struct{
  7.     char ime_drzave[20];
  8.     char ime_grada[20];
  9.     long stanovnika;
  10.     float povrsina;
  11.     int glavni;
  12. }Zapis;
  13.  
  14. int main(){
  15.  
  16.     int i=0;
  17.     FILE*in=NULL;
  18.     in=fopen("Gradovi.txt","r");
  19.  
  20.     FILE*out=NULL;
  21.     out=fopen("Rezultati.txt","w+");
  22.  
  23.     Zapis zapis[100];
  24.  
  25.     int cnt=0;
  26.  
  27.     char drzava[20];
  28.     scanf("%s",drzava);
  29.  
  30.     int postoji=0;
  31.  
  32.  
  33.     while(fscanf(in,"%s %s %d %f %ld",zapis[i].ime_drzave,zapis[i].ime_grada,&zapis[i].stanovnika,&zapis[i].povrsina,&zapis[i].glavni)==5){
  34.         if(strcmp(zapis[i].ime_drzave,drzava)==0){
  35.             postoji++;
  36.         }
  37.         //printf("%s %s %d %f %ld\n",zapis[i].ime_drzave,zapis[i].ime_grada,zapis[i].stanovnika,zapis[i].povrsina,zapis[i].glavni);
  38.         i++;
  39.         cnt++;
  40.     }
  41.     long ukupno=0;
  42.     if(postoji){
  43.         int j=0;
  44.         for(i=0;i<cnt;i++){
  45.             if(strcmp(zapis[i].ime_drzave,drzava)==0){
  46.                 ukupno=ukupno+zapis[i].stanovnika;
  47.             }
  48.         }
  49.         for(i=0;i<cnt;i++){
  50.             for(j=i+1;j<cnt;j++){
  51.                 if(zapis[i].stanovnika<zapis[j].stanovnika){
  52.                     Zapis tmp;
  53.                     strcpy(tmp.ime_drzave,zapis[i].ime_drzave);
  54.                     strcpy(tmp.ime_grada,zapis[i].ime_grada);
  55.                     tmp.glavni=zapis[i].glavni;
  56.                     tmp.stanovnika=zapis[i].stanovnika;
  57.                     tmp.povrsina=zapis[i].povrsina;
  58.  
  59.                     strcpy(zapis[i].ime_drzave,zapis[j].ime_drzave);
  60.                     strcpy(zapis[i].ime_grada,zapis[j].ime_grada);
  61.                     zapis[i].glavni=zapis[j].glavni;
  62.                     zapis[i].stanovnika=zapis[j].stanovnika;
  63.                     zapis[i].povrsina=zapis[j].povrsina;
  64.  
  65.                     strcpy(zapis[j].ime_drzave,tmp.ime_drzave);
  66.                     strcpy(zapis[j].ime_grada,tmp.ime_grada);
  67.                     zapis[j].glavni=tmp.glavni;
  68.                     zapis[j].stanovnika=tmp.stanovnika;
  69.                     zapis[j].povrsina=tmp.povrsina;
  70.                 }
  71.             }
  72.         }
  73.         fprintf(out,"%s ima ukupno: %ld stanovnika.\n",drzava,ukupno);
  74.         for(i=0;i<cnt;i++){
  75.             if(strcmp(zapis[i].ime_drzave,drzava)==0){
  76.                 fprintf(out,"%s ima %ld stanovnika.\n",zapis[i].ime_grada,zapis[i].stanovnika);
  77.             }
  78.         }
  79.     }
  80.     else{
  81.         fprintf(out,"Nema podataka.");
  82.         return 0;
  83.     }
  84.  
  85.  
  86.     fclose(in);
  87.     fclose(out);
  88.  
  89. return 0;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement