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

Tuchka087 Tuchka087    2   22.05.2019 05:30    5

Ответы
Dancerebuclic2017 Dancerebuclic2017  17.06.2020 07:39

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

 

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.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика