Информатика 10-11. Книга 2. Практика алгоритмизации и программирования. Шауцукова Л.З. - 31 стр.

UptoLike

Составители: 

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;
ClrScr; WriteLn(' Матрица А');
For i := 1 to N do {Вывод матрицы}
begin
For j := 1 to M do Write(A[i, j] : 5 );
WriteLn
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.
Пример 3.3. В заданной матрице A(N, M) поменять местами строки с номерами P и
Q
(1 <= P <= N, 1 <= Q <= N).
Тест
Данные Результат
N=3 M=3 P=1 Q=3
      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;
      ClrScr; WriteLn(' Матрица А');
      For i := 1 to N do {Вывод матрицы}
        begin
          For j := 1 to M do Write(A[i, j] : 5 );
          WriteLn
        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.


Пример 3.3. В заданной матрице A(N, M) поменять местами строки с номерами P и
                                       Q
                           (1 <= P <= N, 1 <= Q <= N).

                                    Тест

                         Данные                 Результат
                    N=3 M=3 P=1 Q=3