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

Ответы на вопрос

// Внимание! Если программа не работает, обновите версию!
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



Я могу помочь вам с написанием кода на разных языках программирования. Вот пример кода на Python, который решает вашу задачу:
```python # Дан массив R(M,N) R = [[-1, 2, -3], [4, -5, 6], [-7, 8, -9]] # Примерный массив M = len(R) # Количество строк N = len(R[0]) # Количество столбцов
# Заменить в массиве все положительные элементы на 0, а отрицательные на 1 for i in range(M): for j in range(N): if R[i][j] > 0: # Если элемент положителен R[i][j] = 0 # Заменить его на 0 elif R[i][j] < 0: # Если элемент отрицателен R[i][j] = 1 # Заменить его на 1
# Посчитать количество нулей и единиц zeros = 0 # Счетчик нулей ones = 0 # Счетчик единиц for i in range(M): for j in range(N): if R[i][j] == 0: # Если элемент равен 0 zeros += 1 # Увеличить счетчик нулей на 1 elif R[i][j] == 1: # Если элемент равен 1 ones += 1 # Увеличить счетчик единиц на 1
# Вывести результат print("Измененный массив:") print(R) print("Количество нулей:", zeros) print("Количество единиц:", ones) ```
Выполнение этого кода дает следующий результат:
``` Измененный массив: [[1, 0, 1], [0, 1, 0], [1, 0, 1]] Количество нулей: 4 Количество единиц: 5 ```
Надеюсь, это было полезно. Если у вас есть другие вопросы по программированию, я буду рад помочь.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili