Найти количество строк матрицы, элементы которых упорядочены по возрастанию - Turbo Pascal
Формулировка задачи:
Дана матрица размера M × N. Найти количество ее строк, элементы которых упорядочены по возрастанию.
Решение задачи: «Найти количество строк матрицы, элементы которых упорядочены по возрастанию»
textual
Листинг программы
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
m,n,i,j,k:byte;
f:boolean;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Введите построчно элементы матрицы:');
for i:=1 to m do
for j:=1 to n do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
clrscr;
writeln('Исходная матрица:');
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
writeln;
k:=0;
for i:=1 to m do
begin
f:=true;
j:=2;
while(j<=n)and f do
if a[i,j]<=a[i,j-1] then f:=false{строгое возрастание, 1 2 2 3 не пойдет}
else j:=j+1;
if f then inc(k);
end;
write('Количество строк, упорядоченных по возрастанию=',k);
readln
end.
Объяснение кода листинга программы
В данном коде на языке Turbo Pascal пользователь вводит количество строк и столбцов матрицы, затем программа запрашивает элементы матрицы построчно и сохраняет их в массив. Затем программа проверяет каждую строку матрицы на строгое возрастание элементов и подсчитывает количество строк, удовлетворяющих этому условию. Наконец, программа выводит на экран количество строк, упорядоченных по возрастанию.