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

UptoLike

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

N, M, i, j : Integer;
K : Integer; {K - количество строк, содержащих
нули}
{--------------------------------------------}
Procedure InputOutput; {описание процедуры ввода-вывода данных}
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; 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 }
{--------------------------------------------}
Function Zero(i:Integer):Boolean; {описание функции,
принимающей }
Var Flag : Boolean; {значение Истина, если в
строке есть }
Begin {нули, и Ложь, если в строке
нет нулей}
j:=1; Flag:=FALSE;
While (j<=M) and not Flag do
If A[i, j]=0 then Flag:=TRUE else j:=j+1;
Zero:=Flag {значение функции присваивается имени
функции}
End;
{--------------------------------------------}
BEGIN
InputOutput; {вызов процедуры ввода-вывода}
K:=0;
For i := 1 to N do
If Zero(i) then K:=K+1; {Zero(i) - указатель функции
Zero}
WriteLn('Количество строк, содержащих нули, равно ', K);
ReadLn
END.
Пример 6.2. Дана целочисленная матрица A(N, M). Определить, встречается ли
заданное целое K среди максимальных элементов столбцов этой матрицы.
Система тестов
Номер Проверяемый Данные Результат
      N, M, i, j : Integer;
      K          : Integer; {K - количество строк, содержащих
нули}
{--------------------------------------------}
Procedure InputOutput; {описание процедуры ввода-вывода данных}
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; 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 }
{--------------------------------------------}
Function Zero(i:Integer):Boolean; {описание функции,
принимающей        }
   Var Flag : Boolean;            {значение Истина, если в
строке есть }
Begin                             {нули, и Ложь, если в строке
нет нулей}
  j:=1; Flag:=FALSE;
  While (j<=M) and not Flag do
    If A[i, j]=0 then Flag:=TRUE else j:=j+1;
  Zero:=Flag               {значение функции присваивается имени
функции}
End;
{--------------------------------------------}
BEGIN
  InputOutput; {вызов процедуры ввода-вывода}
  K:=0;
  For i := 1 to N do
    If Zero(i) then K:=K+1;       {Zero(i) - указатель функции
Zero}
  WriteLn('Количество строк, содержащих нули, равно ', K);
ReadLn
END.


  Пример 6.2. Дана целочисленная матрица A(N, M). Определить, встречается ли
    заданное целое K среди максимальных элементов столбцов этой матрицы.
                                Система тестов

         Номер   Проверяемый           Данные            Результат