Вопрос задан 28.10.2023 в 00:12. Предмет Информатика. Спрашивает Громак Оля.

Задача 1: составить программу: поиск максимума, минимума и замена элементов >1 на 0 в массиве,

состоящем из 50 элементов (ввод через случайные числа). Поиск и замену оформить в виде процедур. Программу отладить на компьютере. Задача 2: составить программу: нахождения произведения и замены элементов >5 на 1 в массиве, состоящем из 30 элементов (ввод через случайные числа). Произведение оформить в виде процедур. Программу отладить на компьютере.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Гарбузов Роман.

Ответ:

------------ задача 1 --------------

program ProcArray;

procedure GetMax (A: array of Integer; var imax: Integer);

var

 i: Integer;

begin

 imax := Low (A);

 for i := Low (A) to High (A) do

   if A [i] > A [imax] then

     imax := i;

end;

procedure GetMin (A: array of Integer; var imin: Integer);

var

 i: Integer;

begin

 imin := Low (A);

 for i := Low (A) to High (A) do

   if A [i] < A [imin] then

     imin := i;

end;

procedure Repl (var A: array of Integer; OldValue, NewValue: Integer);

var

 i: Integer;

begin

 for i := Low (A) to High (A) do

   if A [i] > OldValue then

     A [i] := NewValue;

end;

var

 A: array [0..49] of Integer;

 i, imax, imin: Integer;

begin

 Randomize;

 for i := Low (A) to High (A) do begin

     A [i] := Random (21) - 10;

     Write (A [i] :3, ' ');

 end;

 WriteLn;

 GetMax (A, imax);

 WriteLn ('Максимальное значение = ', A [imax]);

 GetMin (A, imin);

 WriteLn ('Минимальное значение = ', A [imin]);

 Repl (A, 1, 0);

 WriteLn ('Замена >1 на 0');

 for i := Low (A) to High (A) do

     Write (A [i] :3, ' ');

 ReadLn;

end.

------------ задача 2 --------------

program ProcArray1;

procedure Multi (A: array of Integer; var Prod: LongInt);

var

 i: Integer;

begin

 Prod := 1;

 for i := Low (A) to High (A) do

   Prod := Prod * A [i];

end;

procedure Repl (var A: array of Integer; OldValue, NewValue: Integer);

var

 i: Integer;

begin

 for i := Low (A) to High (A) do

   if A [i] > OldValue then

     A [i] := NewValue;

end;

var

 A: array [0..29] of Integer;

 i: Integer;

 p: LongInt;

begin

 Randomize;

 for i := Low (A) to High (A) do begin

     A [i] := Random (3) + 1;

     Write (A [i] :3, ' ');

 end;

 WriteLn;

 Multi (A, p);

 WriteLn ('Произведение = ', p);

 Repl (A, 5, 1);

 WriteLn ('Замена >5 на 1');

 for i := Low (A) to High (A) do

     Write (A [i] :3, ' ');

 ReadLn;

end.

Объяснение:

Во задаче №2 при заполнении массива значениями больше 5 начинает возникать переполнение LongInt из за чего значение произведения становится отрицательным

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения задачи 1 и задачи 2, вы можете написать программу на языке программирования, например, на Python. Я предоставлю вам код для обеих задач, оформленный в виде процедур. Задача 1: Поиск максимума, минимума и замена элементов > 1 на 0 в массиве из 50 элементов (ввод через случайные числа). ```python import random # Процедура для поиска максимума и минимума def find_max_min(arr): max_val = max(arr) min_val = min(arr) return max_val, min_val # Процедура для замены элементов > 1 на 0 def replace_elements(arr): for i in range(len(arr)): if arr[i] > 1: arr[i] = 0 # Генерация случайного массива из 50 элементов random_array = [random.uniform(0, 10) for _ in range(50)] # Вызов процедур max_val, min_val = find_max_min(random_array) print("Максимальное значение:", max_val) print("Минимальное значение:", min_val) print("Исходный массив:", random_array) replace_elements(random_array) print("Массив после замены элементов > 1 на 0:", random_array) ``` Задача 2: Нахождение произведения и замена элементов > 5 на 1 в массиве из 30 элементов (ввод через случайные числа). ```python import random # Процедура для нахождения произведения def find_product(arr): product = 1 for element in arr: product *= element return product # Процедура для замены элементов > 5 на 1 def replace_elements(arr): for i in range(len(arr)): if arr[i] > 5: arr[i] = 1 # Генерация случайного массива из 30 элементов random_array = [random.uniform(0, 10) for _ in range(30)] # Вызов процедур product = find_product(random_array) print("Произведение элементов:", product) print("Исходный массив:", random_array) replace_elements(random_array) print("Массив после замены элементов > 5 на 1:", random_array) ``` Вы можете скопировать код каждой задачи в отдельные файлы с расширением ".py" и выполнить их на своем компьютере. Код выполняет указанные действия и выводит результат на экран.
0 0

Похожие вопросы

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

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

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