Pascal i C

Czy ktoś umiałby przetłumaczyć ten kod z Pascala na C?
Muszę go zrozumieć, a Pascala nie znam.. A oto on:


procedure TrwalePary(n:integer; PrefChlop,PrefDziew:TablicaI;
var Pary:WektorI);
{Dla preferencji chlopcow i dziewczat danych w tablicach PrefChlop i PrefDziew, procedura znajduje trwaly uklad par i umieszcza go w tablicy Pary
W programie glownym nalezy zdefiniowac typy danych:
TablicaI=array[1..n,1..n] of integer;
WektorI =array[1..n] of integer; }

var Wolny :Boolean;
i,j,KolDziew :integer;
ModPrefDziew :TablicaI;
WyborChlop,WyborDziew,Odmowa:WektorI;

procedure UstawieniePrefDziew;

{Procedura ta tworzy tablice ModPrefDziew, w ktorej
element (i,j) jest numerem preferencji chlopca j
na liscie dziewczyny i.}

var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
ModPrefDziew[i,PrefDziew[i,j]]:=j
end; {UstawieniePrefDziew}

begin
{Inicjalizacja}
for i:=1 to n do begin
ParyIdea [I]:=0;
OdmowaIdea [I]:=0;
WyborChlopIdea [I]:=1;
WyborDziewIdea [I]:=0
end;
UstawieniePrefDziew;
Wolny:=true;
while Wolny do begin
Wolny:=false;
for i:=1 to n do
if ParyIdea [I]=0 then begin
KolDziew:=PrefChlop[i,WyborChlopIdea [I]];
WyborChlopIdea [I]:=WyborChlopIdea [I]+1;
if WyborDziew[KolDziew]=0 then begin
ParyIdea [I]:=KolDziew;
WyborDziew[KolDziew]:=i
end
else begin
Wolny:=true;
if ModPrefDziew[KolDziew,i]<
ModPrefDziew[KolDziew,WyborDziew[KolDziew]] then begin
ParyIdea [I]:=KolDziew;
Odmowa[WyborDziew[KolDziew]]:=1;
WyborDziew[KolDziew]:=i
end
else OdmowaIdea [I]:=1
end
end {if , for };
for i:=1 to n do
if OdmowaIdea [I]=1 then begin
ParyIdea [I]:=0;
OdmowaIdea [I]:=0 end
end {while Wolny }
end; {TrwalePary}


Z góry dziękuję za wszelką pomoc.
Mary.

Odpowiedzi: 0

Marrry
Dodano:
23.02.2006 00:09:21
Komentarzy:
0
Strona 0 / 0