Recimo, da bi radi citirali razne strani iz neke knjige; to naredimo tako, da naštejemo številke teh strani v strogo naraščajočem vrstnem redu, na primer 2, 5, 6, 8, 11, 28, 29, 30, 31, 67. Če se v tem seznamu kdaj pojavita dve ali več zaporednih strani, ga lahko zapišemo krajše: obdržimo le prvo in zadnjo številko strani iz take skupine več zaporednih številk, med njiju pa zapišimo vezaj: 2, 5–6, 8, 11, 28–31, 67.
Napiši program, ki prebere več seznamov številk strani z vhodne datoteke (pri čemer bo vsaka številka v svoji vrstici), na izhodno datoteko pa izpiše te sezname v zgoraj določeni obliki (v eni vrstici, z vejicami, presledki in vezaji). Seznami števil na vhodni datoteki so med seboj ločeni z vrstico, v kateri je le niz "#NOV SEZNAM#". V vhodnem seznamu številke strani niso nujno v naraščajočem vrstnem redu, vse pa so cela števila, večja od 0. Predpostaviš lahko, da je v vhodnem seznamu vsaj ena številka in da se nobena številka v njem ne pojavi več kot enkrat.
OPIS PROBLEMA
Potrebno je napisati program, ki iz datoteke prebere števila, katera predstavljajo številke strani. Števila so lahko v več seznamih (vsako število je v svoji vrsti ). Seznami so med seboj ločeni z vrstico, v kateri je napis "#NOV SEZNAM#". Prebrane podatke o straneh program uredi po velikosti in združi zaporedne strani med seboj z vezajem.
IDEJA REŠITVE
Najprej preštejemo vsa števila v datoteki. Pri štetju vrstice z napisom "#NOV SEZNAM#" spustimo. Ko preštejemo vsa števila, deklariramo tabelo ustrezne dolžine. Ko je tabela deklarirana, uporabimo program za hitro urejanje elementov v tabeli (ta program smo napisali že na vajah). Ko so števila urejena, se sprehodimo skozi tabelo. Sočasno s tem števila dodajamo v nek že prej narejen prazen niz. Če si števila sledijo zaporedoma, jih v niz ne napišemo takoj, ampak preverimo koliko je zaporednih števil. V seznam vpišemo tako le prvo in zanje število zaporednih števil ter jih med seboj povežemo z vezajem. Dobljen niz na koncu zapišemo na datoteko.


