Матрицы: нахождение минимума в каждом столбце и максимума в каждой строке - 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.

Объяснение кода листинга программы

  1. Создаются две матрицы: a и b.
  2. В цикле while считывается число n и пока оно больше 0, выполняется цикл for j := 0 до n-1.
  3. В цикле for j := 0 до n-1 заполняются нулями первые два элемента матрицы b.
  4. В цикле for i := 0 до n-1 выполняется второй цикл for j := 0 до n-1.
  5. Внутри второго цикла for j := 0 до n-1 генерируется случайное число от 0 до 198 и записывается в элемент a[i, j].
  6. Если a[i, j] больше a[i, b[0, i]], то b[0, i] присваивается значение j.
  7. Если a[i, j] меньше a[b[1, j], j], то b[1, j] присваивается значение i.
  8. После окончания второго цикла for j := 0 до n-1 выполняется третий цикл for i := 0 до n-1.
  9. В третьем цикле выводятся значения элементов матрицы a и b.
  10. Выводится строка ----.
  11. Выводится значение a[b[1, j], j].

Оцени полезность:

11   голосов , оценка 4.545 из 5
Похожие ответы