Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767

Граф. Для каждой пары городов найти длину кратчайшего пути между ними.

09.05.2010, 23:01. Показов 2910. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задана система двухсторонних дорог. Для каждой пары городов найти длину кратчайшего пут между ними.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.05.2010, 23:01
Ответы с готовыми решениями:

В неориентированном графе требуется найти длину кратчайшего пути между двумя вершинами
В неориентированном графе требуется найти длину кратчайшего пути между двумя вершинами. Входные данные Во входном файле INPUT.TXT...

Существует N городов для каждой пары городов (і, j) можно построить путь
Существует N городов для каждой пары городов (і, j) можно построить путь который соединит их, но не заходит в другие города. Стоимость...

Вывести на экран все пары городов с расстоянием менее 100 км между ними
Помогите пожалуйста с решение задачи на массивы. неужто сложно напечатать задания руками? а еще для каждого задания желательно...

4
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
09.05.2010, 23:10
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
uses crt;
const maxn=100;
var a:array[1..maxn,1..maxn]of integer; //матрица смежности
 
w:array[1..maxn,1..maxn]of integer; //таблица кратчайших путей
 
i,j,N:integer;
input:text;
 
function min(a,b:longint):longint;
begin
 if a<b then min:=a else min:=b;
end;
 
procedure floyd;
var i,j,k:integer;
begin
 for i:=1 to n do for j:=1 to n do w[i,j]:=a[i,j];
 for k:=1 to n do
  for i:=1 to n do 
   for j:=1 to n do W[i,j] := min(W[i,j], W[i,k] + W[k,j]);
end;
 
begin
 clrscr;
 assign(input,'input.txt');
 reset(input);
 readln(input, N);
 for i:=1 to N do
 begin
    for j:=1 to N do read(input,a[i,j]);
    readln(input);
 end;
 close(input);
 floyd;
 writeln('Таблица расстояний');
 for i:=1 to N do
 begin
  for j:=1 to N do write(W[i,j],' ');
  writeln;
 end;
 readln;
end.
1
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
09.05.2010, 23:14  [ТС]
а обязательно из файла данные считывать?
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
09.05.2010, 23:15
Artishok, удобней оттуда, так как неудобно постоянно набивать на клавиатуре кучу чисел.
1
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
14.05.2010, 22:03  [ТС]
я решил сделать через алгоритм Дейкстры, но....
не работает
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
const
  maxn = 100;
  inf = 100000000000;
 
var
  a: array[1..maxn, 1..maxn] of integer; //матрица смежности
  
  w: array[1..maxn, 1..maxn] of integer; //таблица кратчайших путей
  
  i, j, N: integer;
  input: text;
 
procedure Deisktr;
var
  i, j, v, s, min: longint;
  visited: array[1..MaxN] of boolean;
  d: array[1..maxn] of longint;
 
begin
  visited[s] := TRUE; 
  for i := 1 to N do D[i] := A[s, i]; 
  for i := 1 to n - 1 do 
  begin
    min := inf;
    for j := 1 to N do 
      if (not visited[j]) and (D[j] < min) then
      begin
        min := D[j]; 
        v := j; 
      end;
    for j := 1 to N do if (D[j] > D[v] + A[v, j]) and (D[v] < inf) and (A[v, j] < inf) then D[j] := D[v] + A[v, j]; 
    s := v; 
    visited[v] := TRUE;
  end;
end;
 
begin
  assign(input, 'input.txt');
  reset(input);
  readln(input, N);
  for i := 1 to N do
  begin
    for j := 1 to N do read(input, a[i, j]);
    readln(input);
  end;
  close(input);
  deisktr;
  writeln('Таблица расстояний');
  for i := 1 to N do
  begin
    for j := 1 to N do write(W[i, j], ' ');
    writeln;
  end;
  readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.05.2010, 22:03
Помогаю со студенческими работами здесь

Найти длину кратчайшего пути из А в B для взвешенного неориентированного графа
Здравствуйте. Программа находит длину кратчайшего пути из А в B для взвешенного неориентированного графа. Формат входных данных: количество...

Определить длину кратчайшего пути между пунктами
Проблема такова, решаю задачи прошлого года и тут: Помогите решить, ответ сам нашел (2), но я не могу понять то ли я тупой, то ли...

Найти длину кратчайшего пути
Добрый день! у меня задание: найти длину кратчайшего пути: Казалось бы, все очень просто.. можно просто даже по таблице посчитать,...

Как в случае связного обыкновенного графа определить длину кратчайшего пути между вершинами
Пусть G = (V,E) -- обыкновенный граф, А(G) -- матрица смежности этого графа, отвечающая нгекоторой нумарции вершин v1, v2,...,vn. ...

Найти длину кратчайшего пути от начала координат до точки
Координаты вершин клеток - целые числа. Разрешается только по диагоналям клеток. По данным координатам точки найти длину кратчайшего пути...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru