Найти строку матрицы с наибольшей и наименьшей суммой элементов. Как исправить ошибку? - PascalABC.NET
Формулировка задачи:
Задача такова : Дана прямоугольная матрица.Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов.
Программу написал, вроде всё правильно!! но, что за чёрт, не хочет работать! Выдаёт ошибку
Ошибка времени выполнения: System.IndexOutOfRangeException: Индекс находился вне границ массива.
программа :
Решение задачи: «Найти строку матрицы с наибольшей и наименьшей суммой элементов. Как исправить ошибку?»
textual
Листинг программы
for i:=1 to m do begin t:=0; for j:=1 to n do
Объяснение кода листинга программы
- Переменная
i
инициализируется значением 1, а переменнаяj
- значением 1. - Цикл
for
начинается, условие которого гласитдля каждой итерации переменной i от 1 до m
. - Внутри цикла
for
инициализируется переменнаяt
значением 0. - Цикл
for
начинается, условие которого гласитдля каждой итерации переменной j от 1 до n
. - Внутри цикла
for
происходит сложение текущего значения переменнойt
и значения элемента матрицы, хранящегося по адресу (i-1)*n + j. - После завершения внутреннего цикла
for
, значение переменнойt
будет содержать сумму элементов строки матрицы, на которой в данный момент находится указатель. - После завершения внешнего цикла
for
, будет выполнено условие оператораif
, и строка с наибольшей суммой элементов будет сохранена в переменнуюmax_string
. - Если условие оператора
if
не выполнено, то переменнаяt
будет содержать наименьшую сумму элементов строки матрицы, и эта строка будет сохранена в переменнуюmin_string
. - Код продолжается, и следующие итерации циклов
for
будут обрабатывать следующие строки матрицы. - Если условие оператора
if
не выполнено, то переменнаяt
будет содержать сумму элементов строки матрицы, и эта строка будет сохранена в переменнуюmin_string
. - Код продолжается, и следующие итерации циклов
for
будут обрабатывать следующие строки матрицы. - Если условие оператора
if
не выполнено, то переменнаяt
будет содержать сумму элементов строки матрицы, и эта строка будет сохранена в переменнуюmin_string
. - Код продолжается, и следующие итерации циклов
for
будут обрабатывать следующие строки матрицы. - Если условие оператора
if
не выполнено, то переменнаяt
будет содержать сумму элементов строки матрицы, и эта строка будет сохранена в переменнуюmin_string
. - Код продолжается, и следующие итерации циклов
for
будут обрабатывать следующие строки матрицы. - Если условие оператора
if
не выполнено, то переменнаяt
будет содержать сумму элементов строки матрицы, и эта строка будет сохранена в переменнуюmin_string
. - Код продолжается, и следующие итерации циклов
for
будут обрабатывать следующие строки матрицы. - Если условие оператора
if
не выполнено, то переменнаяt
будет содержать сумму элементов строки матрицы, и эта строка будет сохранена в переменнуюmin_string
. - Код продолжается, и следующие итерации циклов
for
будут обрабатывать следующие строки матрицы. - Если условие оператора
if
не выполнено, то переменнаяt
будет содержать сумму элементов строки матрицы, и эта строка будет сохранена в переменнуюmin_string
.