Witajcie!
To mój pierwszy post na tym forum, także proszę o wyrozumiałość jeśli zakładając ten temat złamałem jakąś zasadę.
W każdym razie mam poważny kłopot, a sprawa jest pilna, także zwracam się z wielką prośbą o pomoc.
Mam do napisania projekt w Pascalu, który będzie wizualizował działanie sortowania bąbelkowego. Coś jak w linku poniżej:
http://www.home.umk.pl/~abak/wdimat/s/BubbleSort.html
Niestety nie wiem czemu kod, który napisałem nie działa =/
Proszę zatem o jakieś wskazówki, z góry ogromnie dziękuję!
program wizualizacjaSortowaniaBabelkowego;
uses crt, graph;
var
tab: array[1..10] of integer;
i,j,zas,crl,n,t,k,y,y1,y2,y3,y4,y5,y6,y7,y8,y9,x,r :integer;
Procedure uzupelnijTablice;
var
m,n,o: integer;
tRand: array[1..100] of integer;
Begin
for m:=1 to 100 do
tRand[m] := m;
for n:=1 to 10 do
tab[n] := tRand[random(100)];
for o:=1 to 10 do
writeln(tab[o]);
End;
Procedure rysujWykres;
Begin
REPEAT
y:=y+1;
setFillStyle(1,1);
BAR(100,tab[1],120,720);
setFillStyle(1,2);
Until y=tab[1];
REPEAT
y1:=y1+1;
setFillStyle(1,2);
BAR(140,tab[2],160,720);
Until y1=tab[2];
REPEAT
y2:=y2+1;
setFillStyle(1,3);
BAR(180,tab[3],200,720);
Until y2=tab[3];
REPEAT
y3:=y3+1;
setFillStyle(1,4);
BAR(220,tab[4],240,720);
Until y3=tab[4];
REPEAT
y4:=y4+1;
setFillStyle(1,5);
BAR(260,tab[5],280,720);
Until y4=tab[5];
REPEAT
y5:=y5+1;
setFillStyle(1,6);
BAR(300,tab[6],320,720);
Until y5=tab[6];
REPEAT
y6:=y6+1;
setFillStyle(1,7);
BAR(340,tab[7],360,720);
Until y6=tab[7];
REPEAT
y7:=y7+1;
setFillStyle(1,8);
BAR(380,tab[8],400,720);
Until y7=tab[8];
REPEAT
y8:=y8+1;
setFillStyle(1,9);
BAR(420,tab[9],440,720);
Until y8=tab[9];
REPEAT
y9:=y9+1;
setFillStyle(1,10);
BAR(460,tab[10],480,720);
Until y9=tab[10];
End;
Begin
detectgraph(k,t);
initgraph(k,t, 'H:\BGI');
SETTEXTSTYLE(2,0,2);
setcolor(yellow);
OUTTEXTXY(540,50,'Sortowanie babelkowe - wizualizacja');
uzupelnijTablice;
crl := 1;
rysujWykres;
while n <> 0 do
for i:= 1 to 9 do
if(tab[i] > tab[i+1]) then
zas := tab[i+1];
tab[i+1] := tab[i];
tab[i] := zas;
rysujWykres;
end.
else
crl = 0;
end;
end for;
end
repeat until key