Ошибка времени выполнения: "Индекс находился вне границ массива" - PascalABC.NET

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

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

Помогите разобраться , уже не знаю что делать Вот код:

Решение задачи: «Ошибка времени выполнения: "Индекс находился вне границ массива"»

textual
Листинг программы
type
  masiv_cifr_chisla_abcd=array [1..4] of 0..9;
var
  tmp:integer; //временная переменная для сохранения значения 4-х значного числа
  abcd,n,k,sum,m:integer;
  mas:masiv_cifr_chisla_abcd;
  krat:boolean;
begin
  write('Введите abcd= ');
  readln(abcd);
  write('Введите m='); readln(m); // вводим число для проверки кратности
  tmp:=abcd; //обязательно сохраняем оригинальное значение
  n:=0;
  repeat
    n:=n+1;
    mas[n]:=abcd mod 10;
    abcd:=abcd div 10; // уменьшаем значение переменной! у вас было mas[n]:=abcd mod 10;
    until abcd=0;
      sum:=0;
      for k:=1 to n do
      sum:=sum+mas[k];
      krat:=sum mod m=0;
      if krat then 
        writeln('Сумма цифр числа ',tmp,' кратно ',m)
        else
          writeln('Сумма цифр числа ',tmp,' не кратно ',m);
      readln;    
end.

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


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

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

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