Работа 3.7 Упр.28 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 28. Найти максимальный среди всех элементов тех строк заданной матрицы, которые упорядочены (либо по возрастанию, либо по убыванию). *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-7/28 98
Нужно просмотреть каждую строку матрицы и проверить, является ли она упорядоченной: либо по возрастанию, либо по убыванию. Для этого для каждой строки заводим два признака:
- b1 — строка может быть упорядочена по возрастанию;
- b2 — строка может быть упорядочена по убыванию.
Если для некоторой пары соседних элементов нарушается условие возрастания, то b1 := false. Если нарушается условие убывания, то b2 := false.
Если хотя бы один из признаков остался истинным, строка считается упорядоченной. Тогда среди её элементов ищем максимальный и сравниваем его с текущим максимумом.
const n=5; m=4;
var
a:array[1..n,1..m] of integer;
i,j,max:integer;
b1,b2:boolean;
begin
Randomize;
writeln(‘Исходный массив:’);
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
max:=-1000;
for i:=1 to n do
begin
b1:=true; b2:=true;
for j:=1 to m-1 do
begin
if a[i,j]<a[i,j+1] then b1:=false;
if a[i,j]>a[i,j+1] then b2:=false;
end;
if b1 or b2 then
for j:=1 to m do
if a[i,j]>max then max:=a[i,j];
end;
if max<>-1000 then writeln(‘max = ‘,max)
else writeln(‘В массиве нет упорядоченных строк’);
end.
В программе проверяются все строки матрицы. Если упорядоченных строк нет, выводится соответствующее сообщение.
Ответ: программа на Pascal, находящая максимальный элемент среди всех элементов упорядоченных строк матрицы.