Зарегистрирован: 01 апр 2015, 20:32 Сообщений: 9 Cпасибо сказано: 2 Спасибо получено: 0 раз в 0 сообщении Очков репутации: 1
Нужно написать программу Даны связный неориентированный взвешенный граф и натуральное число k. Выясните, есть ли в данном графе вершина, расстояние от которой до каждой вершины не превышает k.
Логически все понятно, а сам код нет, помогите пожалуйста)
Зарегистрирован: 01 апр 2015, 20:32 Сообщений: 9 Cпасибо сказано: 2 Спасибо получено: 0 раз в 0 сообщении Очков репутации: 1
Вот допустим есть код, выводящий матрицу кротчайших расстояний между всеми парами вершин, как теперь проверить эту матрицу по заданию с k? как это туда теперь дописать, товарищи программисты?
program lab3; uses crt; const maxV=1000; type matr=array[1..maxV, 1..maxV] of integer; var i, j, n, inf: integer; GR: matr; Procedure FU(D: matr; V: integer); var k: integer; begin inf:=1000000; for i:=1 to V do D[i, i]:=0;
for k:=1 to V do for i:=1 to V do for j:=1 to V do if (D[i, k]<>0) and (D[k, j]<>0) and (i<>j) then if (D[i, k]+D[k, j]<D[i, j]) or (D[i, j]=0) then D[i, j]:=D[i, k]+D[k, j];
for i:=1 to V do begin for j:=1 to V do write(D[i, j]:4); writeln; ; end; end; begin clrscr; write('Количество вершин в графе > '); readln(n); writeln('Введите матрицу весов ребер:'); for i:=1 to n do for j:=1 to n do begin write('GR[', i, '][', j, '] > '); read(GR[i, j]); end; writeln('Матрица кратчайших путей:'); FU(GR, n); end.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения