Народ, выручайте. С информатикой очень туго. Написать программу вычисляющую функцию S,...

0 голосов
47 просмотров

Народ, выручайте. С информатикой очень туго.
Написать программу вычисляющую функцию S, значение которой равно единице, если в каждой строке матрицы есть нулевой элемент, и нулю в противном случае. Значение функции вычисляется для матриц А(3,4), В(3,3). Элементы матриц ввести с помощью подпрограммы процедуры


Информатика (17 баллов) | 47 просмотров
0

Народ-то выручит, вы только язык программирования скажите.. Или предоставляете выбор ответчику?

0

Возможно с информатикой туго настолько, что спрашивающий не знает ни одного названия языка программирования.

0

Паскаль

Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.0, сборка 1128

procedure MatInput(M:array[,] of integer);
begin
  var nr:=Length(M,0);
  var nc:=Length(M,1);
  WritelnFormat('Введите построчно массив размером {0}x{1}',nr,nc);
  for var i:=0 to nr-1 do
    for var j:=0 to nc-1 do
      Read(M[i,j]);
end;

function S(M:array[,] of integer):integer;
begin
  Result:=0;
  var Zero:integer;
  for var i:=0 to Length(M,0)-1 do begin
    Zero:=1; 
    for var j:=0 to Length(M,1)-1 do
      if M[i,j]=0 then begin Zero:=0; Break end;
    Result+=Zero;
    if Result=1 then begin Result:=0; Exit end
    end;
  Result:=1
end;

begin
  var A:=new integer[3,4]; MatInput(A);
  var B:=new integer[3,3]; MatInput(B);
  Writeln(S(A));
  Writeln(S(B));
end.

Тестовое решение:
Введите построчно массив размером 3x4
1 2 3 4
5 6 7 8
9 0 1 2
Введите построчно массив размером 3x3
1 2 0
2 0 1
0 1 0
0
1

(142k баллов)