
Заполнить двумерный массив случайными числами. Размерность массива и диапазон генерации вводятся с
клавиатуры. Составить программу, которая вычисляет сумму всех элементов массива. Затем организовать новый массив В, в котором заменить отрицательные элементы исходного массива на 1, а значения остальных элементов оставить без изменения. Подсчитать количество замен.

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

procedure random(c,x,y:integer; var r:integer);
begin
case c of
1 : r:=Random(ABS(Y)+ABS(x)+1)+x;
2 : r:=Random(ABS(Y)+ABS(x)+1)+y;
3 : r:=Random(Y-x+1)+x;
4 : r:=Random(x-y+1)+y;
5 : r:=Random(x+y);
6 : r:=Random(ABS(x+y))-ABS(x+y);
7 : r:=x;
8 : r:=Random(ABS(ABS(x)-ABS(y)))-ABS(x);
9 : r:=Random(ABS(ABS(x)-ABS(y)))-ABS(y);
end;
end;
var
a,b: array of array of integer;
i,j,x,y,c,m,p,sum:integer; begin
Randomize;
sum:=0;
writeln('Кол-во строк и столбцов массива? //X,Y\\ ');
read(i,j); //Размерность массива
writeln('Диапазон чисел //от X,до Y\\ ');
read(x,y); //и диапазон генерации вводятся с клавиатуры.
if (x=y) then
c:=7
else
if(x<0) and (y<0) then
if (x<y) then
c:=8
else
c:=9
else
if (x=0) or (y=0) then
if(x<0) or (y<0) then
c:=6
else
c:=5
else
if(x<0) or (y<0) then
if (x<y) then
c:=1
else
c:=2
else
if (x<y) then
c:=3
else
c:=4;
SetLength(a,i);
for m:=0 to i-1 do
SetLength(a[m],j);
SetLength(b,i);
for m:=0 to i-1 do
SetLength(b[m],j);
for m:=0 to i-1 do begin
writeln();
for p:=0 to j-1 do begin
random(c,x,y,a[m,p]); {Заполнить двумерный массив случайными числами.}
sum:=sum+a[m,p]; {вычисляет сумму всех элементов массива}
write (a[m,p]:3,' ':3);
end;
end;
c:=0;
writeln('summa=',sum);
for m:=0 to i-1 do begin {Затем организовать новый массив В }
writeln();
for p:=0 to j-1 do begin
if (a[m,p] <0) then begin
b[m,p]:=1; {в котором заменить отрицательные элементы исходного массива на 1} inc(c); {Подсчитать количество замен. }
end
else
b[m,p]:=a[m,p]; {а значения остальных элементов оставить без изменения }
write(b[m, p]:3, ' ':3);
end;
end;
writeln('kol=',c);
a:=NIL;
b:=NIL;
end.
// ABC Pascal



Для решения данной задачи мы будем использовать язык программирования Python.
Сначала объявим две переменные - n и m - которые будут представлять размерность массива. Запросим эти значения у пользователя:
```python n = int(input("Введите количество строк массива: ")) m = int(input("Введите количество столбцов массива: ")) ```
Затем объявим двумерный массив arr, размерностью n на m. Заполним его случайными числами с помощью модуля random:
```python import random
arr = [[random.randint(-10, 10) for j in range(m)] for i in range(n)] ```
Для вычисления суммы всех элементов массива пройдемся по каждому элементу и добавим его значение к переменной sum:
```python sum = 0 for row in arr: for elem in row: sum += elem ```
Затем создадим новый массив B, размерностью n на m, и заполним его значениями из исходного массива arr. При этом, если значение элемента отрицательное, заменим его на 1, и подсчитаем количество замен:
```python B = [[1 if elem < 0 else elem for elem in row] for row in arr] count = sum([row.count(1) for row in B]) ```
В итоге, сумма всех элементов массива будет храниться в переменной sum, замененный массив B будет храниться в переменной B, а количество замен - в переменной count.
Полный код программы:
```python import random
n = int(input("Введите количество строк массива: ")) m = int(input("Введите количество столбцов массива: "))
arr = [[random.randint(-10, 10) for j in range(m)] for i in range(n)]
sum = 0 for row in arr: for elem in row: sum += elem
B = [[1 if elem < 0 else elem for elem in row] for row in arr] count = sum([row.count(1) for row in B])
print("Сумма всех элементов массива:", sum) print("Замененный массив B:") for row in B: print(row) print("Количество замен:", count) ```
После запуска программы пользователь должен ввести размерность массива и диапазон генерации случайных чисел. Затем программа выведет сумму всех элементов массива, замененный массив B и количество замен.


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








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