Вопрос задан 09.11.2018 в 23:18. Предмет Информатика. Спрашивает Томенюк Сільванка.

Заполнить двумерный массив случайными числами. Размерность массива и диапазон генерации вводятся с

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Трунилин Ваня.
Program primer;
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
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи мы будем использовать язык программирования 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 и количество замен.

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос