Изменить элементы матрицы, не трогая определенную строку - Turbo Pascal
Формулировка задачи:
Суть проблемы такая. Имеется у меня в двумерном массиве квадратная матрица. В процедуре, путем некоторых действий в ней определяется строка (ведущая строка). Мне надо провести со всей матрицей, определенные манипуляции в цикле, не трогая при этом эту строку. Т.е. все элементы должны обработаться в цикле, а эта строка должна остаться неизменной. Как это сделать, при том, что я заранее не знаю, что это будет за строка?
Пример простенький приведу для сравнения. Имеем матрицу
1 2 3
4 5 6
7 8 9
Та строка в которой самое большое число - становится ведущей, и остается неизменной. к остальным прибавить половину ведущей строки. (повторюсь, это просто пример для наглядности.)
И вот если запустить цикл for i:=1 to 3 for j:=1 to 3 - то он и ведущую строку зацепит. Нет какого нибудь способа ее пропустить? Мне пришло в голову, записывать эту строку в отдельный массив, а потом возвращать на место - но это в условиях моей реальной задачи - очень неудобно и может багами аукнуться.
Есть у кого что посоветовать?
Даже нет... Поразмыслив я понял, что записывать эту строку в отдельный массив, а потом возвращать на место - у меня не получится. Так как тогда цикл все равно изменит строку и ответ у других переменных будет не правильный...
Решение задачи: «Изменить элементы матрицы, не трогая определенную строку»
textual
Листинг программы
... Readln(n); { 1..3 } For i:=1 to 3 do For j:=1 to 3 do If i<>n then Begin ... end; ...
Объяснение кода листинга программы
В данном коде происходит изменение элементов матрицы, при этом не трогается определенная строка. Код использует два вложенных цикла for для перебора строк и столбцов матрицы. Внутри первого цикла for происходит проверка условия i<>n, где i - номер текущей строки, а n - номер строки, которую необходимо оставить без изменений. Если условие истинно (т.е. i не равно n), то происходит выполнение блока begin...end, который содержит код для изменения элемента матрицы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д