Предмет: Информатика,
автор: totalbol
Дан одномерный массив положительных целых чисел. Последовательно преобразовать этот массив по следующему алгоритму: Находится первый максимальный элемент и устанавливается первым в массиве, затем из оставшихся находится минимальный элемент и устанавливается вторым в массиве, после чего отыскивается из оставшихся элементов максимальный и устанавливается третьим в массиве и т.д. Размерность массива задается с клавиатуры.
Помогите, пожалуйста, не получается.
Ответы
Автор ответа:
0
var
a:array [1..10] of integer;
i,j,k,b:integer;
begin
randomize;
writeln('Массив:');
for i:=1 to 10 do
begin
a[i]:=random(99);
write(a[i],' ');
end;
writeln;
for i:=1 to 10 do
begin
k:=i;
for j:=(1+i-1) to 10 do
begin
if (a[j]>a[k])and((i mod 2)<>0) then k:=j;
if (a[j]<a[k])and((i mod 2)=0) then k:=j;
end;
b:=a[k];
a[k]:=a[i];
a[i]:=b;
end;
writeln('Массив после престанвоок:');
for i:=1 to 10 do
write(a[i],' ');
writeln;
end.
a:array [1..10] of integer;
i,j,k,b:integer;
begin
randomize;
writeln('Массив:');
for i:=1 to 10 do
begin
a[i]:=random(99);
write(a[i],' ');
end;
writeln;
for i:=1 to 10 do
begin
k:=i;
for j:=(1+i-1) to 10 do
begin
if (a[j]>a[k])and((i mod 2)<>0) then k:=j;
if (a[j]<a[k])and((i mod 2)=0) then k:=j;
end;
b:=a[k];
a[k]:=a[i];
a[i]:=b;
end;
writeln('Массив после престанвоок:');
for i:=1 to 10 do
write(a[i],' ');
writeln;
end.
Похожие вопросы
Предмет: Геометрия,
автор: ttemirkhan06
Предмет: Русский язык,
автор: Аноним
Предмет: Математика,
автор: asylzatbagdat08
Предмет: Физика,
автор: Anastasiy222
Предмет: Алгебра,
автор: Аноним