Программирование паскаль. проверить, все ли строки матрицы a(n×m) содержат хотя бы один отрицательный элемент, если не все, сообщить номер первой, где нет отрицательных элементов. без цикла for, только while или repeat из этого всего мне только нужен сам код(алгоритм) поиска первой строки(если она есть т.к. перед этим надо еще проверить не во всех ли строках содержатся отриц. элементов), где нет отрицательных элементов. ъ желательно написать только две процедуры( т.е. тут будет две процедуры, сначала которая проверяет на наличие отриц. элементов и выдает нам значение flag = true или false, а другая процедурa для нахождения номера первой строки без отриц элем., которая будет выполняться только в том случае, если flag = false ( к примеру)) можете предложить ваш вариант решения

Sergay121 Sergay121    1   13.07.2019 17:50    1

Ответы
Vadim43k Vadim43k  03.10.2020 03:14
Программа:
const
  n = 5;
  m = 5;
 
var
  a: array[1..n, 1..m] of integer;
  i, j: integer;
 
function check(i: integer): boolean;
var j: integer;
begin
  check := false;
  j := 0;
  repeat
    inc(j);
    if a[i, j] < 0 then
    begin
      check := true;
      exit;
    end;
  until j = m;
end;
 
function search: integer;
var i: integer;
begin
  search := 0;
  i := 0;
  repeat
    inc(i);
    if not(check(i)) then
    begin
      search := i;
      exit;
    end;
  until i = n;
end;
 
begin
  writeln('Введите матрицу ', n, 'x', m,': ');
  i := 0;
  repeat
    j := 0;
    inc(i);
    repeat
      inc(j);
      read(a[i, j]);
    until j = m;
  until i = n;
  writeln('ответ: ', search);
end.
Пример работы программы:
Введите матрицу 5x5:
3 4 2 3 -2
3 -5 -7 -2 1
8 2 5 4 -4
0 1 2 3 4
1 7 2 -5 2
ответ: 4
* Примечание: Если во всех строках есть отрицательные элементы, то ответ будет 0 (можно изменить в самой процедуре)
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика