program beadandok; const e=1; {Mi legyen az egyseg?} Tmax=100; {Legfeljebb hany meresunk lehet a tengeren?} var t:array[1..Tmax] of shortint; var foldhossz:integer; {A sziget hossza} { - Az alapfuggvenyek - } function szigetkezdet(const i:integer):boolean; begin szigetkezdet:=((T[i]=1) and (T[i-1]=0)); end; function foldvege(const i:integer):boolean; begin foldvege:=((T[i]=0) and (T[i-1]=1)); end; function tulsopart(const i:integer):boolean; begin tulsopart:=(T[i]=2); end; procedure hosszmer(var i:integer); begin if not(foldvege(i)) then begin foldhossz:=foldhossz+e; inc(i); hosszmer(i); end; end; { - A meghivhato eljarasok -} procedure SzigethosszEgyutt(var i:integer); {Milyen hosszuak a szigetek egyutt?} begin {- SzigehosszEgyutt -} inc(i); if ( (szigetkezdet(i)) and not(tulsopart(i)) ) then hosszmer(i); {foldhossz -> a szigetek egyuttes hossza} end; {- SzigehosszEgyutt -} procedure LeghosszabbSziget(var i:integer); {Melyik a leghosszabb sziget?} type ThosszT=array[1..tmax] of integer; var melyik:shortint; {ez lesz a leghosszabb sorszama} db:integer; {szigetdb} hosszT:Thosszt; {tomb: egy adott sziget hosszat tarolja} procedure Maxkiv(var db:integer; Tomb:ThosszT; melyik:integer); begin if Tomb[melyik] Ez a leghosszabb} end; {- LeghosszabbSziget -} procedure AtlagosSzgHossz(var i:integer); {Mekkora a szigetek atlagos hossza?} type ThosszT=array[1..tmax] of integer; var szgatlag:real; {A szigetek atlagos hossza} hosszT:Thosszt; {tomb: egy adott sziget hosszat tarolja} db:integer; {szigetdb} max:integer; {atlagszamitas: a legnagyobb indexu tag} procedure Atlagszamit(var hosszt:Thosszt; max:integer; KiindErt:real;atlag:real); begin if (i az atlagos szigethossz} end; {- AtlagosSzgHossz -} begin {- Foprogram -} end. {- Foprogram -}