Ошибка времени выполнения: "Индекс находился вне границ массива" - 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.