Ошибка 215. Арифметическое переполнение - Turbo Pascal (28976)

Узнай цену своей работы

Формулировка задачи:

Подскажите в чем ошибка? Матрица в файле txt 0 10 17 8 0 12 19 10 0 1 0 7 0 21 17 1 0 0 3 11 0 8 0 0 0 16 3 5 0 7 3 16 0 4 0 12 0 11 3 4 0 10 19 21 0 5 0 10 0

Решение задачи: «Ошибка 215. Арифметическое переполнение»

textual
Листинг программы
const inf=50000;
var
  C: array ... of word;
  D: array ... of word;
...
  ... C[i,j]:=inf;
  ... D[act,i]:=inf;
 
  if D[act,i]>D[pr,j]+C[j,i] then D[act,i]:=D[pr,j]+C[j,i];

Объяснение кода листинга программы

В данном коде используется массив слов C и массив слов D. Переменная inf имеет значение 50000. В строке C[i,j]:=inf; мы инициализируем каждый элемент массива C значением inf. В строке D[act,i]:=inf; мы инициализируем каждый элемент массива D значением inf. В строке if D[act,i]>D[pr,j]+C[j,i] then D[act,i]:=D[pr,j]+C[j,i]; происходит проверка условия. Если значение D[act,i] больше суммы D[pr,j] и C[j,i], то значение D[act,i] заменяется на сумму D[pr,j] и C[j,i]. Таким образом, данный код выполняет проверку и обновление значения в массиве D на основе значений массивов C и D.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы