Navodilo naloge
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.
Ideja rešitve
Z vhodne datoteke preberemo sezname v katerih so shranjene številke strani in nato te sezname uredimo po velikosti ter poskrbimo za ustrezen izpis na izhodno datoteko. In sicer če se pojavita v seznamu dve ali več zaporednih strani na izhodno datoteko ne napišemo vseh strani, ampak le prvo in zadnjo ter med njiju dodamo vezaj. Ker so številke strani na datoteki vsaka v svoji vrstici, datoteko preberemo po vrsticah. Najprej se sprehodimo čez celo datoteko in v primeru da je element v vrstici različen od niza #NOV SEZNAM#, vemo da se v vrstici nahaja cifra zato povečamo števec, katerega na začetku nastavimo na 0 in bomo v njem hranili število števk v datoteki. Ko pridemo do konca datoteke tako vemo koliko cifer je v seznamu, ustvarimo novo tabelo številskega tipa, v katero bomo te cifre shranjevali. Na podoben način kot prej se še enkrat sprehodimo čez datoteko in v primeru da je v vrstici cifra le-to shranimo v tabelo.
Na koncu tabelo le še uredimo po velikosti, za to bomo uporabili funkcijo za urejanje tabele iz vaj – HitroUredi in pa poskrbimo za ustrezen izpis (postavljanje vezajev, vejic) ter zapis na datoteko.


