Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
11.04.2015
Размер:
1.9 Кб
Скачать
program upor;
uses
CRT,graph;
const n=50;
type
dan=array[1..n] of integer;
var
a:dan;
i,k:integer;
grDriver: Integer;
grMode: Integer;
ErrCode: Integer;
hx,HY:integer;
HI,h1:integer;
min,num:integer;
P1,P2: Pointer;
Size: Word;

begin
HI:=200;
for i:=1 to n do
a[i]:=10+random(HI-10);
a[1]:=HI;
for i:=1 to n do
write(a[i]:8);
grDriver := Detect;
InitGraph(grDriver, grMode,'e:\tp7\bgi\');
ErrCode := GraphResult;
if ErrCode = grOk then
begin { Do graphics }
HY:=400;
setbkcolor(15);
setlinestyle(0,0,3);
rectangle (0, 0, GetMaxX, GetMaxY);
setlinestyle(0,0,1);
setcolor(1);
line(0,400,GetmaxX,400);

hx:=Getmaxx div n;
for i:=1 to n do
begin
setfillstyle(1,(i mod 9)+1);
h1:=HY-trunc(HY*0.9*a[i]/HI);
bar((i-1)*hx,HY,i*hx-1,H1);
end;
{================================================}
Size := ImageSize(0,0,hx,400);
GetMem(P1, Size);
GetMem(P2, Size);

for i:=1 to n-1 do
begin
readkey;
min:=a[i];num:=i;
for k:= i+1 to n do
if min>a[k] then
begin
min:=a[k];
num:=k;
end;
if num<>i then
{ЇҐаҐбв ­®ўЄ }
begin
a[num]:=a[i];
a[i]:=min;
GetImage((i-1)*hx,0,i*hx-1,400, P1^);
GetImage((num-1)*hx,0,num*hx-1,400, P2^);
PutImage((i-1)*hx,0, P2^,NormalPut);
PutImage((num-1)*hx,0, P1^,NormalPut);

end;
end;
Readln;
CloseGraph;
end
else
Writeln('Graphics error:', GraphErrorMsg(ErrCode));
end.
end.
Соседние файлы в папке lab2