uses crt; type matrix=array [1..100, 1..10] of integer; var a:matrix; n,m:integer; procedure InputOutputMatrix (var a:matrix; var n,m:integer); {Ввод и вывод матрицы} var i,j:integer; begin clrscr; write ('Кол-во строк='); readln (n); write ('Кол-во столбцов='); readln (m); for i:=1 to n do for j:=1 to m do begin write ('a[',i,',',j,']='); readln (a[i,j]); end; writeln; for i:=1 to n do begin writeln; for j:=1 to m do write (a[i,j]:5); writeln; end; end; Function NumColumns (a:matrix):integer; var i,j,k:integer; flag:boolean; begin k:=0; {Обнуляем счетчи} for j:=1 to m do {Двигаемся по стлобцам} begin i:=1; flag:=false; while (i<=n-1) and not flag do {----Пока не проверили все элементы столбцов-----} If a[i,j]<a[ i+1,j] then inc(i) else flag:=true; {Если след-ий больше предыдущего то идем дальше иначе стоп} if not flag then inc(k); {Если все элементы столбца идут в порядке возрастания то увеличиваем счетчик} end; NumColumns:=k; {Присваем функции количество возрастающих столбцов} end; begin InputOutputMatrix (a,n,m); writeln (Кол-во воз-их столбцов =,numcolumns(a)); readln end.
|