Матрицы: нахождение минимума в каждом столбце и максимума в каждой строке - Pascal ABC
Формулировка задачи:
Добрый вечер. Помогите, пожалуйста, не могу объединить эти две программы нахождения минимального элемента в каждом столбце и максимального в каждой строке вместе.
Решение задачи: «Матрицы: нахождение минимума в каждом столбце и максимума в каждой строке»
textual
Листинг программы
var a: Array[Byte, Byte] Of ShortInt; b: Array[0..1, Byte] Of Byte; i, j, n: Byte; begin Randomize; repeat Write('Input n='); ReadLn(n); until (n > 0); for j := 0 to n - 1 do begin b[0, j] := 0; b[1, j] := 0; end; for i := 0 to n - 1 do for j := 0 to n - 1 do begin a[i, j] := Random(199) - 99; if (a[i, j] > a[i, b[0, i]]) then b[0, i] := j; if (a[i, j] < a[b[1, j], j]) then b[1, j] := i; end; for i := 0 to n - 1 do begin for j := 0 to n - 1 do Write(a[i, j]:4); WriteLn(' | ', a[i, b[0, i]]:4); end; for j := 0 to n - 1 do Write('----'); WriteLn; for j := 0 to n - 1 do Write(a[b[1, j], j]:4); end.
Объяснение кода листинга программы
- Создаются две матрицы: a и b.
- В цикле while считывается число n и пока оно больше 0, выполняется цикл for j := 0 до n-1.
- В цикле for j := 0 до n-1 заполняются нулями первые два элемента матрицы b.
- В цикле for i := 0 до n-1 выполняется второй цикл for j := 0 до n-1.
- Внутри второго цикла for j := 0 до n-1 генерируется случайное число от 0 до 198 и записывается в элемент a[i, j].
- Если a[i, j] больше a[i, b[0, i]], то b[0, i] присваивается значение j.
- Если a[i, j] меньше a[b[1, j], j], то b[1, j] присваивается значение i.
- После окончания второго цикла for j := 0 до n-1 выполняется третий цикл for i := 0 до n-1.
- В третьем цикле выводятся значения элементов матрицы a и b.
- Выводится строка
----
. - Выводится значение a[b[1, j], j].
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д