[ fanfare @ 15.09.2009. 19:28 ] @
Počeo sam da pišem kod za sledeći zadatak,ali ono najbitnije ne znam da uradim tj. da sortiram elemente neke datoteke.Pokušao sam nešto sa strukturama ali neide.Može li neko da mi pomogne. Ovo je moj pokušaj: Code: /*Pretpostavimo da su u nesortiranoj datoteci upisani rezultati nekog ispita, u svakom redu su podaci o uspijehu jednog studenta u obliku: PREZIME IME BODOVI Napisati program koji sortira takvu datoteku(prvi argument komandne linije) u opadajućem redosljedu po broju bodova i rezultat sortiranja upisuje u drugu datoteku(drugi argument komandne linije).U svaki red treba upisati: RB. PREZIME IME BODOVI gdje RB predstavlja redni broj.Svi studenti sa istim brojem bodova dijele isto mjesto. Npr. 1. Markovic Marko 100 1. Jankovic Janko 100 3. Nikolic Janko 90 Rezultat treba ispisati i na standardnom izlazu. */ #include <stdio.h> #include <stdlib.h> main() { FILE *ul,*izl; struct osoba { char prezime[15]; char ime[15]; int rb; int bodovi[3]; }student; char imedat[100]; int i=1,j; student.rb=0; if( ( ul=fopen("D:/zad 5.txt","r") )!= NULL) { printf("Ime datoteke u koju upisujemo je:\t"); scanf("%s",imedat); if( ( izl=fopen(imedat,"w") )!=NULL) { while(!feof(ul)) { fscanf(ul,"%s %s %s",student.prezime,student.ime,student.bodovi); student.rb=student.rb+1; fprintf(izl,"%d. %s %s %s\n",student.rb,student.prezime,student.ime,student.bodovi); } fclose(izl); } else printf("greska pri otvaranju dat. za upisivanje\n"); fclose(ul); } else printf("greska pri otvaranju dat. za citanje\n",imedat); system("pause"); } |