أرجو مساعدتي في إكمال حل البرنامج التالي وهو بلغة باسكال لذا أرجو من الجميع المساعدة :
Program myprogram;
uses wincrt;
label x1,x2,x3;
const n=10;
type
index =1..n;
var i,j,k,w :index;
list :array [index]of integer;
key :integer;
procedure select_sort;
var
j,k,w :integer;
t:array [index] of integer;
begin
while i< n do
begin
j := i;
for k:= i+1 to n do
if t[k] < t[j] then
j :=k;
w :=t[j];
t[j] :=t;
t :=w;
i:=i+1
end
end;
procedure Buble_sort;
var
t:array[index] of integer;
k,w,j :integer;
begin
i :=1;
while i< n do
begin
for j :=n downto i+1 do
if t[j]<t[j-1] then
begin
w :=t[j-1];
t[j-1] :=t[j];
t[j] :=w;
end;
i:=i+1
end
end;
procedure Insert_sort;
var
k,x :integer;
t:array[index] of integer;
begin
if i > 1 then
begin
k :=i-1;
t[i-1] :=t;
while t[k] > t[i-1] do
begin
t[k+1] :=t[k];
k :=k-1
end;
t[k+1] :=t[i-1]
end
end;
begin
writeln ( ' welcome ');
for i := 1 to n do
begin
writeln(' table [',i,']=',list);
end;
repeat
writeln ( 'press 1 to select_sort');
writeln ( 'press 2 to Buble_sort');
writeln ( 'press 3 to Insert_sort');
writeln ( 'press 4 to exit');
readln(key);
case 1 :select_sort;
case 2 :Buble_sort;
case 3 :Insert_sort;
case 4 :exit;
until (key :=4)
end.
ولكم مني جزيل الشكر .