Advertisement
Guest User

ZSR 13 Z4

a guest
Feb 19th, 2020
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.22 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. struct Grad {
  4.     char naziv[20];
  5.     int br_stanovnika;
  6. };
  7.  
  8. struct Drzava {
  9.     char naziv[50];
  10.     struct Grad glavni;
  11. };
  12.  
  13. struct Regija {
  14.     char naziv[50];
  15.     struct Grad glavni;
  16. };
  17. int zdane(char *Grad)
  18. {
  19.     if(*Grad=='Z')
  20.         return 1;
  21.     return 0;
  22. }
  23. int filtriraj(struct Drzava *drzave, int vel, struct Regija *regije, int n)
  24. {
  25.     int i,j,k;
  26.     for(i=0; i<vel; i++) {
  27.         if(zdane(drzave[i].naziv)==1) {
  28.             for(k=i; k<vel-1; k++) {
  29.                 drzave[k]=drzave[k+1];
  30.             }
  31.             vel--;
  32.             i--;
  33.             continue;
  34.         } else if(drzave[i].glavni.br_stanovnika<10000) {
  35.             for(k=i; k<vel-1; k++) {
  36.                 drzave[k]=drzave[k+1];
  37.             }
  38.             vel--;
  39.             i--;
  40.             continue;
  41.         }
  42.         for(j=0; j<n; j++) {
  43.             if(strcmp(drzave[i].glavni.naziv,regije[j].glavni.naziv)==0) {
  44.                 for(k=i; k<vel-1; k++) {
  45.                     drzave[k]=drzave[k+1];
  46.                 }
  47.                 vel--;
  48.                 i--;
  49.                 break;
  50.             }
  51.  
  52.         }
  53.     }
  54.     return vel;
  55. }
  56. int ucitaj_drzave(struct Drzava *drzave, int vel){
  57.     int i=0;
  58.     FILE *ulaz;
  59.     ulaz=fopen("drzave.dat","br");
  60.         i=fread(drzave,sizeof(struct Drzava),1000,ulaz);
  61.     fclose(ulaz);
  62.     return i;
  63. }
  64. int ucitaj_regije(struct Regija *regije, int n){
  65.     int i=0;
  66.     FILE *ulaz;
  67.     ulaz=fopen("regije.txt","r");
  68.     while(i<n && fscanf(ulaz,"%50s,%20s,%d",regije[i].naziv,regije[i].glavni.naziv,&regije[i].glavni.br_stanovnika)==3) i++;
  69.     fclose(ulaz);
  70.     i++;
  71.     return i;
  72. }
  73. struct Drzava max_glavni(struct Drzava *drzave, int vel){
  74.     int max;int maxindex;
  75.     int i;
  76.     max=drzave[0].glavni.br_stanovnika;
  77.     for(i=1;i<vel;i++){
  78.         if(drzave[i].glavni.br_stanovnika>max)
  79.         {
  80.         max=drzave[i].glavni.br_stanovnika;
  81.         maxindex=i;
  82.         }
  83.     }
  84.     return drzave[maxindex];
  85. }
  86. void drzave_regije(struct Drzava *drzave, int vel, struct Regija *regije, int n){
  87.     struct Drzava tmp;
  88.     int i;
  89.     tmp=max_glavni(drzave,vel);
  90.     for(i=0;i<n;i++){
  91.         if(strcmp(tmp.glavni.naziv,regije[i].glavni.naziv)==0)
  92.         printf("%s\n",regije[i].glavni.naziv);
  93.     }
  94. }
  95. void zapisi_regije(struct Regija *regije, int vel){
  96.     FILE *ulaz;
  97.     ulaz=fopen("ispit.txt","w");
  98.     int i;
  99.     for(i=0;i<vel;i++){
  100.         fprintf(ulaz,"%50s%20s%d\n",regije[i].naziv,regije[i].glavni.naziv,regije[i].glavni.br_stanovnika);
  101.     }
  102.     fclose(ulaz);
  103.    
  104. }
  105. int main()
  106. {
  107.     printf("ZSR 13, Zadatak 4");
  108.     return 0;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement