program rodi_jest_taki_sexy; uses crt; const Ilosc=100; type tab=array [1..Ilosc] of integer; var a:tab; n:byte; mini,maksi,k:integer; procedure los(var a:tab;n:byte); var i,j,c:byte; w:boolean; begin randomize; for i:=1 to n do begin repeat c:=random(100); w:=true; for j:=1 to i do if a[j]=c then w:=false; until w=true; if w=true then a[i]:=c; end; end; procedure wypis(var a:tab;n:byte); var i:byte; begin for i:=1 to n do write(a[i]:3); writeln; end; procedure BubbleSort(var t:tab;n:byte); var i,j:byte; p:integer; begin for i:=1 to n-1 do for j:=i+1 to n do if t[i]>t[j] then begin p:=t[i]; t[i]:=t[j]; t[j]:=p end; end; procedure MinMax(l,p:byte;var Min, Max:integer); var Min1,Min2,Max1,Max2:integer; begin if l=p then begin Min:=a[l]; Max:=a[l]; end else if l=p-1 then if a[l]>a[p] then begin Min:=a[p]; Max:=a[l]; end else begin Min:=a[l]; Max:=a[p]; end else begin MinMax(l,(l+p) div 2,Min1,Max1); MinMax((l+p) div 2+1,p,Min2,Max2); if Max1>Max2 then Max:=Max1 else Max:=Max2; if Min1t[sr] then l:=sr+1 else p:=sr-1; until (a=t[sr]) or (l>p); end; begin clrscr; write('podaj n: '); readln(n); los(a,n); wypis(a,n); MinMax(1,n,mini,maksi); writeln('Min: ',mini); writeln('Max: ',maksi); BubbleSort(a,n); wypis(a,n); write('Podaj szukana liczbe: '); readln(k); writeln('Indeks szukanego elementu: ',BinarySearch(a,n,k)); readkey; end.