3. naloga

Planinarjenje

Za planince je pri izbiri ciljev ponavadi bolj zanimiv vrh, ki se izraziteje dviga višje od svoje okolice, manj pomembna pa je njegova absolutna nadmorska višina.

V ta namen je vpeljan pojem topografske prominence vrha (ali njegova relativna višina). Ta je določena z višinsko razdaljo (razliko višin) med vrhom in najnižjo tako plastnico (izohipso) terena, ki obkroža ta vrh in hkrati ne obkroža kakšnega višjega vrha. Z drugimi besedami: če bi se morska gladina dvignila do tiste plastnice, bi bil ta vrh najvišja točka otoka.

Problem si poenostavimo v dve dimenziji. Na spodnji sliki je prominenca vrha A razlika med nadmorskima višinama točk A in K (če bi se voda dvignila do višine točke K oz. tik nad njo, bi bila točka A najvišji vrh svojega otoka):


Da se ne trudimo z iskanjem vrhov in dolin, so podatki že pripravljeni tako, da si v seznamu (ali vhodni datoteki) sledijo izmenoma nadmorske višine dolin in vrhov. (Na gornji sliki so to točke, označene s krožci , tako da bi za ta primer dobili seznam 15 višin.) Podatkov je liho število, seznam pa se začne in konča z dolino na nadmorski višini 0 (vse ostale višine so večje od 0).

Napiši program ali podprogram (funkcijo), ki bo za vsak vrh iz seznama ugotovil in izpisal njegovo prominenco. (Na primeru iz gornje slike bi moral program torej izpisati rezultate za 7 vrhov.) Tvoj (pod)program lahko seznam dobi kot parameter ali globalno spremenljivko (vektor, tabelo ali kaj podobnega), lahko pa ga prebere s standardnega vhoda ali iz vhodne datoteke (kar ti je lažje).