Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.12.2015, 21:16   #1
nastyat1996
 
Аватар для nastyat1996
 
Регистрация: 03.10.2015
Сообщений: 4
По умолчанию Pascal Таблицы маршрутизации

Помогите, пожалуйста, разобраться, нужно написать код, чтобы ответ был как в MTABLE.EXE, а у меня получается только то, что выведено в data.exe(то есть не правильный второй столбец), как можно исправить?

Код:
uses crt;
const MaxN = 5;
INF = 1000; 
type Matrix = array[1..MaxN,1..MaxN] of longint;
const byk:array[1..MaxN] of char=('A','B','C','D','E');
var
a : Matrix; n: integer;
f: text;

{ввод данных из файла в переменные и вывод матрицы на экран}
procedure Input_Table(var A : Matrix; N : longint; var T : Text); 
var i, j : longint;
begin
 writeln('Matritsa svjazei:');
 while not eof(f) do
  begin
    for i := 1 to N do
    begin
        for j := 1 to N do
        begin
         read(f,a[i,j]);
          write(' ',a[i,j]);
            if (a[i,j] = 0) and (i <> j) then
             a[i,j] := INF;
        end;
        writeln;
        readln(T);
    end;
 end;
end;

{алгоритм Флойда-Уоршелла}
Procedure FU(D: matrix; V: integer);
var i,j,k: integer;
begin
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(byk[i]:2,byk[j]:2,D[i, j]:3,'|   ');
  writeln; 
   
end;
end;

{основная программа}
BEGIN
clrscr;
writeln;
    assign(f,'data.txt');
    reset(f);
    readln(f,n);
writeln('Kolichestvo yzlov - ',n);
writeln;
    Input_Table(a,n,f);
    close(f);
writeln;
writeln('Rezyltat:');
FU(a, n);
 readln;
END.
Изображения
Тип файла: jpg рез л5.jpg (113.0 Кб, 125 просмотров)
Вложения
Тип файла: txt data.txt (56 байт, 122 просмотров)

Последний раз редактировалось Вадим Мошев; 28.12.2015 в 21:21.
nastyat1996 вне форума
Старый 28.12.2015, 21:20   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Кросспостить не надо. Это делу не поможет, а сделает только хуже - точно говорю.
Ваша тема здесь: http://www.programmersforum.ru/showthread.php?p=1567094
Закрыто.
Вадим Мошев вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таблицы маршрутизации nastyat1996 Паскаль, Turbo Pascal, PascalABC.NET 1 29.12.2015 02:07
matlab решение занимательной задачи маршрутизации (asap!!) aleksandr112 Помощь студентам 0 04.05.2015 21:50
MAC адрес в таблице маршрутизации в CISCO darmoed Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 3 26.03.2015 17:53
Алгоритм маршрутизации Damir1990 Фриланс 0 24.11.2013 15:53
роутер ASUS WL-520GC настройка режима маршрутизации -ushёl- Компьютерное железо 7 27.05.2011 15:58