01-01-1970 03:00
01-01-1970 03:00
01-01-1970 03:00
01-01-1970 03:00
Здравствуйте. Нужна помощь в решении задачи, а конкретно:
Разработать алгоритм, написать и отладить программу для решения задачи: Граф задан матрицей инциденций. Определить является ли он полным.
Оплата по договоренности.
Есть код, но он нуждается в доработке.
var
i,j,c: integer;
a: array [1..5, 1..4] of integer; {матрица 5 строк(вершин), 4 столбца(ребра)}
begin
{заполняем матрицу случайными ребрами, у каждого ребра начало (1) и конец (-1)}
for j:=low(a[1]) to high(a[1]) do { перебираем все ребра }
begin
a[1+random(high(a))][j] := 1; { ребро начинается на одной из вершин }
repeat
c:=1+random(high(a)) { выбираем вершину в которую приходит ребро }
until a[c][j]=0; { проверка чтобы не создавать кольцевых связей }
a[c][j]:=-1; { ребро входит в выбранную вершину }
end;
{вывобдим матрицу на экран}
for i:=low(a) to high(a) do { перебираем все строки (вершины) }
begin
for j:=low(a[i]) to high(a[i]) do { перебираем все ребра }
write(a[i][j]:2, ' '); { выводим инцидентность текущей вершины и текущего ребра }
writeln; { переходим на следующую строку экрана }
end;
begin
readln;
end;
{считаем степень вершины (количество некольцевых ребер) }
for i:=low(a) to high(a) do { для каждой строки (вершины) матрицы}
begin
c:=0; { сбрасываем счетчик степени вершины }
for j:=low(a[i]) to high(a[i]) do { перебираем все вершины }
if a[i][j]<>0 then { если вершина и ребро инцидентны }
inc(c); { увеличиваем счетчик степени вершины }
writeln('d(a[',i,']) = ', c); { выводим степень текущей вершины }
end;
end.
Разработать алгоритм, написать и отладить программу для решения задачи: Граф задан матрицей инциденций. Определить является ли он полным.
Оплата по договоренности.
Есть код, но он нуждается в доработке.
var
i,j,c: integer;
a: array [1..5, 1..4] of integer; {матрица 5 строк(вершин), 4 столбца(ребра)}
begin
{заполняем матрицу случайными ребрами, у каждого ребра начало (1) и конец (-1)}
for j:=low(a[1]) to high(a[1]) do { перебираем все ребра }
begin
a[1+random(high(a))][j] := 1; { ребро начинается на одной из вершин }
repeat
c:=1+random(high(a)) { выбираем вершину в которую приходит ребро }
until a[c][j]=0; { проверка чтобы не создавать кольцевых связей }
a[c][j]:=-1; { ребро входит в выбранную вершину }
end;
{вывобдим матрицу на экран}
for i:=low(a) to high(a) do { перебираем все строки (вершины) }
begin
for j:=low(a[i]) to high(a[i]) do { перебираем все ребра }
write(a[i][j]:2, ' '); { выводим инцидентность текущей вершины и текущего ребра }
writeln; { переходим на следующую строку экрана }
end;
begin
readln;
end;
{считаем степень вершины (количество некольцевых ребер) }
for i:=low(a) to high(a) do { для каждой строки (вершины) матрицы}
begin
c:=0; { сбрасываем счетчик степени вершины }
for j:=low(a[i]) to high(a[i]) do { перебираем все вершины }
if a[i][j]<>0 then { если вершина и ребро инцидентны }
inc(c); { увеличиваем счетчик степени вершины }
writeln('d(a[',i,']) = ', c); { выводим степень текущей вершины }
end;
end.
Комментарии (1):
Super jazzed about getting that knowh-ow.
Добавить комментарий: