Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит все минимальные значения и заменяет их на максимальные. Гарантируется, что в массиве есть хотя бы два разных элемента. В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки. Например, для массива из восьми элементов:
29 4 115 7 195 25 4 106
программа должна вывести (по одному числу в строке) числа:
29 195 115 7 195 25 195 106
Язык Паскаль
Answers & Comments
Program Begenjov1997;
const
n = 30; {Количество элементов массива}
m = 10000; {Максимально возможное значение элемента}
var
a:array[1..n] of integer;
i, min, max: integer;
s:string;
begin
s:='**** -=Alphaeus=- ****';
for i:=1 to 22 do begin write(s[i]); sleep(60) end;
{заполняем массив случайными числами}
writeln; randomize;
for i:=1 to n do a[i]:=random(m+1);
{Ищем максимальный и минимальный элементы}
min:=a[1]; max:=a[1];
for i:=1 to n do
begin
if (a[i]>max) then max:=a[i];
if (a[i]<min) then min:=a[i];
end;
{Заменяем минимальные элементы на максимальные}
for i:=1 to n do
if (a[i] = min) then a[i]:=max;
{Вывод}
writeln('Массив:');
for i:=1 to n do writeln(a[i]);
end.