дана матрица А(n*m). получить вектор b1(), b2(), ...,b(n), где b(i) равно количеству отрицательных элементов в строке.

Проверено - работает на Паскаль АВС

 

Program mashaaq;
uses crt;
const n=12;
const m=15;
var
  a:array[1..n,1..m] of integer;
  b:array[1..n] of integer;
  i,j,minus : integer;
begin
  Randomize;
  for i:=1 to n do
    for j:=1 to m do
      a[i,j]:= Random(101)-50; //заполняем массив случайными числами
  writeln(*** alphaues is thinking... ***);
  writeln(***          OK             ***);
  for i:=1 to n do //просматриваем строки сверху вниз
    begin
      minus:=0;
      for j:=1 to m do //просматриваем строку
        if a[i,j]<0  then minus:=minus+1; //если найден отрицательный элемент, увеличиваем счётчик minus на единицу
      b[i]:=minus; //сохраняем значение счётчика для i-й строки
    end;
  writeln;
  {выводим матрицу А и вектор результатов В}

  {в красивой рамочке :)}
  writeln(**************************************************************************);
  writeln(*                              Массив                           * Вектор *);
  writeln(**************************************************************************);
  for i:=1 to n do
    begin
      write (* );
      for j:=1 to m do
        write(a[i,j]:4); //выводим строку массива
      writeln(  *   ,b[i]:2,   *);  //дописываем справа значение вектора В для этой строки
    end;  
  writeln(**************************************************************************);
end.

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку