with TEXT_IO; use TEXT_IO; procedure Rendezes is type INDEX is new INTEGER range 10..19; type VEKTOR is array (INDEX range <>) of INTEGER; v: VEKTOR(12..16) := (100,52,99,2,-4); function MaxKer ( v: VEKTOR ) return INDEX is -- Elszall, ha a v ures vektor mh: INDEX := v'FIRST; begin for i in v'RANGE loop if v(mh) < v(i) then mh:=i; end if; end loop; return mh; end MaxKer; procedure Megcserel ( a, b: in out INTEGER ) is c: INTEGER; begin c:=a; a:=b; b:=c; end Megcserel; procedure Rendez ( v: in out VEKTOR ) is mh: INDEX; begin for i in reverse v'RANGE loop mh := MaxKer(v(v'FIRST..i)); Megcserel(v(i),v(mh)); end loop; end Rendez; begin Put_Line(INDEX'IMAGE(v'FIRST)); Rendez(v); Put("A rendezett vektor: "); for i in v'RANGE loop Put(INTEGER'IMAGE(v(i))); end loop; New_Line; end Rendezes;