Не Могу Найти Ошибку В Уоде

youngster

New Member
17.11.2013
3
0
#1
Есть задание написать программу на паскале, поверяющую графы на двудольность. Но вот никак не могу найти тут ошибку.
Кроме этого надо сделать визуализацию. ХЭЛП!


Код:
var graph:array[1..20,1..20] of integer;
c,p:array[1..20] of integer; n,i,j:integer;

function dfs(v,color: integer): boolean;
var
i: integer;
begin
if color = 1 then
c[v] := 2
else if color = 2 then
c[v] := 1;
for i := 1 to n do
if graph[v, i]=1 then
if c[i] = 0 then
begin
p[i] := v;
dfs := dfs(i, c[v]);
end
else if (p[v] <> i) and (c[i] <> color) then			
begin
dfs := false;
exit;
end;
dfs := true;
end;

Begin
readln(n);
for i:=1 to n do begin
for j:=1 to n do begin read(graph[i,j]);end;readln;end;
for i:=1 to n do begin p[i]:=0;c[i]:=0;end;
if dfs(1,2) then writeln('vse ok') else writeln('vse ne ok');
end.