Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит все минимальные значения и заменяет их на максимальные. Гарантируется, что в массиве есть хотя бы два разных элемента. В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки. Например, для массива из восьми элементов:
29 4 115 7 195 25 4 106
программа должна вывести (по одному числу в строке) числа:
29 195 115 7 195 25 195 106
Язык Паскаль

15 Сен 2019 в 14:42
379 +1
0
Ответы
1

program ReplaceMinWithMax;
var
arr: array[1..30] of integer;
i, minVal, maxVal, minCount: integer;
begin
minCount := 0;

// вводим элементы массива
for i := 1 to 30 do
begin
readln(arr[i]);
end;

// находим минимальное и максимальное значение в массиве
minVal := arr[1];
maxVal := arr[1];
for i := 2 to 30 do
begin
if arr[i] < minVal then
minVal := arr[i]
else if arr[i] > maxVal then
maxVal := arr[i];
end;

// считаем количество минимальных значений
for i := 1 to 30 do
begin
if arr[i] = minVal then
minCount := minCount + 1;
end;

// заменяем все минимальные значения на максимальное
for i := 1 to 30 do
begin
if arr[i] = minVal then
arr[i] := maxVal;
writeln(arr[i]);
end;
end.

19 Апр 2024 в 23:51
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир