SORTIRANJE ZAPISA DATOTEKE

 

Sortiranje podataka u datoteci vrši se na isti način kao i podataka u polju. Ovo je mjehuričasto sortiranje - najjednostavnije za izvesti, ali i najsporije.

 

'Sortiranje podataka u datoteci
'Upisuje se 5 imena i prezimena i ocjena
'Podaci se zapisuju u datoteku pod nazivom "FINAL.DAT"
'Datoteka se sortira po OCJENAMA i ispisuju se podaci na ekranu.

CLS
TYPE Zapis
Ime AS STRING * 20
Ocjena AS SINGLE
END TYPE
DIM Ucenik(1 TO 5) AS Zapis

OPEN "FINAL.DAT" FOR RANDOM AS #1 LEN = LEN(Ucenik)
'Unos
FOR i = 1 TO 5
INPUT "Ime"; Ucenik(i).Ime
INPUT "Ocjena"; Ucenik(i).Ocjena
PUT #1, i, Ucenik
NEXT i
CLOSE #1


'Sortiranje datoteke
FOR i = 1 TO 5
FOR j = 1 TO 4
IF Ucenik(j).Ocjena > Ucenik(j + 1).Ocjena THEN
p = Ucenik(j).Ocjena 'Zamjena ocjena
Ucenik(j).Ocjena = Ucenik(j + 1).Ocjena
Ucenik(j + 1).Ocjena = p

o$ = Ucenik(j).Ime 'Zamjena imena
Ucenik(j).Ime = Ucenik(j + 1).Ime
Ucenik(j + 1).Ime = o$
END IF
NEXT j
NEXT i
PRINT
PRINT "Ime", " Ocjena"
PRINT
FOR i = 1 TO 5 'Ispis sortiranih podataka iz zapisa
PRINT Ucenik(i).Ime, Ucenik(i).Ocjena
NEXT i

'U datoteku nisu upisani sortirani podaci vec po fizickom redoslijedu.
'Sortirajte datoteku po imenu i prezimenu