
Дан двумерный массив целых чисел. Сформировать одномерный массив, каждый элемент которого равен
количеству нечетных отрицательных элементов соответствующей строки двумерного массива.

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

// Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Rows.Select(x->x.Where(y->(y<0) and y.IsOdd).Count);
b.Println;
end.
Пример
Количество строк в массиве: 10
Количество столбцов в массиве: 13
*** Исходный массив [10,13] ***
-7 -30 -31 26 -19 4 -26 -37 -17 2 -7 -20 20
-6 33 -24 -14 -26 38 -11 -34 -40 -22 31 7 35
-24 -9 -35 -7 -14 -3 25 38 -30 -50 42 26 -15
45 -17 6 -18 27 25 -21 -21 1 -39 36 -27 -49
32 -38 -9 -17 42 -11 -31 -4 -23 33 48 40 -34
47 6 32 -26 33 -15 10 40 43 -44 11 28 1
-45 -23 6 26 -20 -20 -30 -15 16 12 -3 38 -42
3 6 39 17 0 8 -7 11 29 23 -2 -23 -21
1 13 -39 39 -44 30 5 -9 -17 43 41 2 2
17 19 32 -20 45 -16 -13 24 32 -46 -49 -25 6
----------------------------------------------------
6 1 5 6 5 1 4 3 3 3



n=10;
m=10;
var
a: array[1..n,1..m] of integer;
b: array[1..n] of integer;
i,j,k: integer;
begin;
k:=0;
writeln ('Двумерный массив:');
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(100)-50;
write (a[i,j]:4);
if (a[i,j]<0) and (abs(a[i,j] mod 2)=1)
then k:=k+1;
end;
writeln;
b[i]:=k;
k:=0;
end;
writeln;
writeln ('Сформирован одномерный массив:');
for i:=1 to n do
write (b[i]:3);
end.
-------------------------Результат:--------------------------
Двумерный массив:
19 30 -49 -10 -10 -14 -25 -19 -16 -11
-18 18 1 18 32 21 22 -33 45 45
-50 -26 -24 -47 8 39 14 34 45 -21
-33 5 -26 3 -38 0 -40 31 -42 11
-32 -25 -47 2 -24 34 -48 -27 18 8
12 42 -49 7 23 -5 3 48 32 1
22 -9 -14 -46 -28 26 -6 48 5 -19
11 40 -42 -17 27 25 -29 23 26 24
36 -9 -34 -14 17 -26 3 16 29 17
47 -39 49 7 39 26 39 48 -21 -1
Сформирован одномерный массив:
4 1 2 1 3 2 2 2 1 3



Конечно, это задача на обработку двумерного массива целых чисел для создания одномерного массива, содержащего количество нечётных отрицательных элементов в каждой строке двумерного массива.
Давайте разберём эту задачу на части:
1. Пройти по каждой строке двумерного массива. 2. Для каждой строки посчитать количество нечётных отрицательных чисел. 3. Записать эти значения в одномерный массив.
Вот пример решения на Python:
```python def count_negative_odd(arr): result = [] for row in arr: count = 0 for num in row: if num < 0 and num % 2 != 0: count += 1 result.append(count) return result
# Пример двумерного массива two_dim_array = [ [3, -5, 2, -1], [-8, 0, -2, 4], [6, 9, -3, -7] ]
result_array = count_negative_odd(two_dim_array) print(result_array) # Вывод результата ```
Этот код создаст функцию `count_negative_odd`, которая принимает двумерный массив `arr` в качестве аргумента. Она проходится по каждой строке массива `arr` и подсчитывает количество нечётных отрицательных чисел в каждой строке, добавляя это количество в результирующий одномерный массив `result`.


Топ вопросов за вчера в категории Информатика








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