Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct Student
- {
- char ime[20];
- int prva_parc;
- int druga_parc;
- };
- struct Student *izbacivanje(struct Student niz[], int*vel)
- {
- int i, j;
- struct Student temp;
- for(i=0; i<*vel; i++)
- {
- if(niz[i].prva_parc<10 || niz[i].druga_parc<10 )
- {
- for(j=i; j<(*vel)-1; j++)
- niz[j]=niz[j+1];
- i--;
- (*vel)--;
- }
- }
- return niz;
- }
- struct Student *sortiranje(struct Student niz[], int vel)
- {
- int i,j;
- for(i=0; i<vel; i++)
- {
- for(j=i+1; j<vel; j++)
- {
- if( niz[i].druga_parc+niz[i].prva_parc > niz[j].druga_parc+niz[j].prva_parc ){
- struct Student temp=niz[i];
- niz[i]=niz[j];
- niz[j]=temp;
- }
- }
- }
- return niz;
- }
- int main()
- {
- FILE *ulaz, *izlaz;
- struct Student niz[5];
- int vel=0, i;
- char znak;
- struct Student *pok=niz;
- ulaz=fopen("datoteka.txt", "r");
- izlaz=fopen("stat.txt", "w");
- if (ulaz==NULL || izlaz == NULL)
- {
- printf("otvaranje datoteke nije uspjelo");
- exit(1);
- }
- while(fscanf(ulaz, "%s%c%d%c%d\n", &niz[vel].ime, &znak, &niz[vel].prva_parc, &znak, &niz[vel].druga_parc) !=EOF){vel++;}
- pok=izbacivanje(niz, &vel);
- pok=sortiranje(niz, vel);
- for(i=0; i<vel; i++)
- fprintf(izlaz,"%s %d %d\n", niz[i].ime, niz[i].prva_parc, niz[i].druga_parc);
- }
- // ucita iz datoteke niz studenata i bodove na prvoj i drugoj parc
- // izbaci studente koji ne mogu na usmeni i sortira ih
- // a zatim to sve upise u novu datoteku
Advertisement
Add Comment
Please, Sign In to add comment