Как найти максимальный элемент строки в двумерном массиве? - Pascal

Узнай цену своей работы

Формулировка задачи:

Не могу понять, что принять изначально за максимальный элемент и как осуществить сравнение не по всей матрице, а в каждой строке.

Решение задачи: «Как найти максимальный элемент строки в двумерном массиве?»

textual
Листинг программы
Uses
  crt;
Var
  A:array[1..100,1..100] of integer;
  min,i,k,n,m,j:integer;
  max:array[1..100] of integer;
  x:array[1..100,1..2] of integer;
Begin
  ClrScr; Randomize;
  Write('ввод кол-ва строк = '); Readln(n);
  Write('ввод кол-ва столбцов = '); Readln(m);
  For i:=1 to n do
    Begin
      For j:=1 to m do
        Begin
          A[i,j]:=random(51)-25;
          Write(A[i,j]:4);
        End;
      Writeln;
    End;
  For i:=1 to n do
    Begin
      a[i,1]:=max[i];
      For j:=1 to m do
        If A[i,j]>max[i] then
              max[i]:=A[i,j];
    End;
  writeln('Максимумы в строках:');
  For i:=1 to n do
    write(max[i]:4);
  Readln;
End.

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

  1. Uses - модуль для работы с консолью
  2. Var - переменные, используемые в программе
    • A: двумерный массив для хранения чисел
    • min, i, k, n, m, j: целочисленные переменные для выполнения операций
    • max: одномерный массив для хранения максимальных значений в каждой строке
    • x: двумерный массив для хранения чисел
  3. Begin - начало выполнения программы
  4. ClrScr; Randomize; - очистка консоли и инициализация генератора случайных чисел
  5. Write('ввод кол-ва строк = '); Readln(n); - запрос на ввод количества строк
  6. Write('ввод кол-ва столбцов = '); Readln(m); - запрос на ввод количества столбцов
  7. For i:=1 to n do - цикл по строкам массива A
    1. For j:=1 to m do - цикл по столбцам массива A
      • A[i,j]:=random(51)-25; - генерация случайного числа в диапазоне от -25 до 25
      • Write(A[i,j]:4); - вывод значения элемента массива с отступами для наглядности
    2. Writeln; - переход на новую строку
    3. For i:=1 to n do - цикл по строкам массива A
    4. a[i,1]:=max[i]; - инициализация первого элемента в каждой строке массива max значением первого элемента этой строки
    5. For j:=1 to m do - цикл по столбцам массива A
      • If A[i,j]>max[i] then - проверка, является ли текущее значение в строке больше максимального значения в этой строке
        • max[i]:=A[i,j]; - обновление максимального значения в строке
    6. writeln('Максимумы в строках:'); - вывод заголовка
    7. For i:=1 to n do - цикл по строкам массива max
      • write(max[i]:4); - вывод максимального значения в каждой строке
  8. Readln; - ожидание ввода пользователя для завершения программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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