дан массив R(M,N). Заменить в массиве все положительные элементы на 0, а отрицательные на 1. Посчитать количество нулей и единиц .

Вопрос школьника по предмету Информатика

дан массив R(M,N). Заменить в массиве все положительные элементы на 0, а отрицательные на 1. Посчитать количество нулей и единиц .

Ответ учителя по предмету Информатика

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ReadInteger(‘Количество строк в массиве:’);
  var n:=ReadInteger(‘Количество столбцов в массиве:’);
  Writeln(‘*** Исходный массив [‘,m,’,’,n,’] ***’);
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*’-‘);
  Writeln(‘*** Результат ***’);
  a.Transform(x->x>=0?0:1); a.Println(4);
  var s:=a.ElementsByRow;
  Writeln(‘Нулей- ‘,s.Where(x->x=0).Count,’, единиц- ‘,
      s.Where(x->x=1).Count)
end.


Пример

Количество строк в массиве: 4

Количество столбцов в массиве: 5

*** Исходный массив [4,5] ***

 -19  61 -47 -38 -26

 -95 -35 -56  43  40

   0 -52 -87 -85  93

 -68  48 -55   5 -93

———————

*** Результат ***

   1   0   1   1   1

   1   1   1   0   0

   0   1   1   1   0

   1   0   1   0   1

Нулей- 7, единиц- 13

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей