Ошибка: Индекс находился вне границ массива. 32 строка - PascalABC.NET
Формулировка задачи:
Решение задачи: «Ошибка: Индекс находился вне границ массива. 32 строка»
textual
Листинг программы
rez := 0; for x := 1 To n Do begin for y := 1 To n Do if (mas[x, y] > 0) and (y mod 2 = 0) Then // проверяем четность индекса begin rez := rez + mas[x, y]; end; Writeln(rez:3:3); rez := 0; Writeln; end;
Объяснение кода листинга программы
В данном коде выполняется сложение всех элементов массива, которые имеют неотрицательное значение и четный индекс.
- Переменная
rezинициализируется значением 0 и используется для хранения суммы элементов. - Первый цикл
forпроходит по всем элементам массиваmasпо первому измерению. - Второй цикл
forтакже проходит по всем элементам массиваmas, но уже по второму измерению. - Если условие (mas[x, y] > 0) and (y mod 2 = 0) выполняется, то есть элемент имеет неотрицательное значение и четный индекс, то к переменной
rezприбавляется значение этого элемента. - После завершения циклов выводится значение переменной
rezс помощью функции Writeln. - Значение переменной
rezсбрасывается в 0 перед следующим выводом. - После завершения циклов выводится символ новой строки с помощью функции Writeln.