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

1

Ответы и объяснения

2013-06-04T20:35:01+04:00

Это Проверенный ответ

×
Проверенные ответы содержат надёжную, заслуживающую доверия информацию, оценённую командой экспертов. На "Знаниях" вы найдёте миллионы ответов, правильность которых подтвердили активные участники сообщества, но Проверенные ответы - это лучшие из лучших.

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

 

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.