السلام عليكم ورحمة الله وبركاته
اخوتي اعضاء امنتدى الكرام ارجو منكم المساعده في تحويل هذا الكود الى كود بلغة الفيجوال بيسك, تقبلوا شكري وامتناني
A poly data type demo. Euler algorithm.
program Euler;
procedure Remove(var P: Poly); // remove and destroy element of a list
var
temp : Poly;
begin
temp << P[2];
deallocate P^;
P << temp;
end;
procedure Insert(V : Integer; var L: Poly); // insert element in a list
begin
L << [V, << L];
end;
function Cycle( InitV : Integer; const A : Poly ) : Poly;
var
P, Stack : Poly;
U, V : Integer;
begin
Insert( InitV, Stack );
while Assigned(Stack) do
begin
V := Integer(Stack[1]);
P == A[V];
if Assigned(P) then
begin
U := Integer(P[1]);
Remove(P);
Insert(U, Stack);
P == A;
while Assigned(P) do
begin
if Integer(P[1]) = V then
begin
Remove(P);
break;
end;
P == P[2];
end
end
else
begin
Remove(Stack);
Insert(V, result);
end;
end;
end;
var
A : Poly;
begin
SetLength(A, 9);
A[1] := [2, [3, *]];
A[2] := [1, [3, [7, [8, *]]]];
A[3] := [1, [2, [4, [5, *]]]];
A[4] := [3, [5, * ]];
A[5] := [3, [4, [6, [8, *]]]];
A[6] := [5, [7, [8, [9, *]]]];
A[7] := [2, [6, [8, [9, *]]]];
A[8] := [2, [5, [6, [7, *]]]];
A[9] := [6, [7, *]];
writeln('Euler path: ', Cycle(1, A));
end.