End; WriteLn
End; { of InputOutput }
{--------------------------------------------}
Procedure MaxElement(Var A : Mas; Var Amax : Integer);
Begin {описание процедуры поиска Amax}
Amax := A[1, 1];
For i := 1 to N do
For j := 1 to M do
If A[i, j] > Amax then Amax := A[i, j];
End; {of MaxElement}
{--------------------------------------------}
Procedure HowMuch(Var A : Mas; K : Integer);
Begin {описание процедуры подсчета числа вхождений Amax}
K:=0;
For i := 1 to N do
For j := 1 to M do
if A[i, j] = Amax then K := K+1;
WriteLn('Максимальное число ', Amax : 3 ,
' встречается ', K, ' раз(a)'); ReadLn;
End; {of HowMuch}
{--------------------------------------------}
BEGIN
InputOutput(A); {Вызов процедуры ввода-вывода матрицы}
MaxElement(A, Amax); {Вызов процедуры поиска макс. элемента}
HowMuch(A, K) {Вызов процедуры подсчета числа
вхождений максимального элемента }
END.
QBasic
CLS : INPUT "Количество строк - ", N
INPUT "Количество столбцов - ", M
DIM A(N, M) 'Резервирование памяти для матрицы
FOR i = 1 TO N 'Ввод матрицы
FOR j = 1 TO M
PRINT "A(" ; i ; ", " ; j ; ") = " ; : INPUT A(i, j)
NEXT j
NEXT i
CLS : PRINT "Матрица А"
FOR i = 1 TO N 'Вывод матрицы
FOR j = 1 TO M
PRINT A(i, j) ;
NEXT j
PRINT
NEXT i : PRINT
Amax = A(1, 1) 'Поиск максимального элемента
FOR i = 1 TO N
FOR j = 1 TO M
IF A(i, j) > Amax THEN Amax = A(i, j)
NEXT j
NEXT i
K = 0 'Подсчет числа вхождений Amax
FOR i = 1 TO N
FOR j = 1 TO M
IF A(i, j) = Amax THEN K = K + 1
NEXT j
NEXT i
PRINT "Максимальное число " ; Amax ;
PRINT " встречается " ; K ; " раз(a)"
END
Пример 3.3. В заданной матрице A(N, M) поменять местами строки с номерами P и Q
(1 <= P <= N, 1 <= Q <= N).
Тест
| Данные
| Результат
|
N=3 M=3 P=1 Q=3
|
|