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