Дан одномерный массив положительных целых чисел. Последовательно преобразовать этот массив по следующему алгоритму: Находится первый максимальный элемент
10-11 класс
|
и устанавливается первым в массиве, затем из оставшихся находится минимальный элемент и устанавливается вторым в массиве, после чего отыскивается из оставшихся элементов максимальный и устанавливается третьим в массиве и т.д. Размерность массива задается с клавиатуры.
Помогите, пожалуйста, не получается.
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.
Другие вопросы из категории
Var x: integer, y: real
BEGIN
x := 1; y := 0;
while x <= 7 do
begin
y := y+sqrt(x*x);
x := x+1;
end;
y := sqrt(y);
writeln (y);
END.
, где есть клады, используя 3 быита? 4 бита? 5 битов?
сообщает «1 год», при числе 2 – «2 года», при числе 125 – «125 лет».
1) 100 метров
2) 185 метров
3) 300 метров
4) 1000 метров
5) 500 метров
Читайте также
расположенных между максимальным и минимальным элементами.
Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
ну или исправьте мое пжл
program fgf;
var mas:array[1..100] of real;
max,min:real;
i,n,c,b:shortint;
p:real;
f1,g:text;
begin;
assign (f1, 'input.txt');
reset (f1);
readln (f1, n);
for i:=1 to N do read (mas[i]);
max:=mas[i];
for i:=2 to N do begin
if mas[i]>max then begin
max:=mas[i];
c:=i;
end;
end;
min:=mas[1];
for i:=2 to N do begin
if mas[i]<min then begin
max:=mas[i];
b:=i;
end;
end;
close(f1);
assign (g, 'output.txt');
rewrite (g);
p:=1;
if b<c then I:=b+1 and c-1
else for I:=c+1 to b-1 do p:=p*mas[i];
if (n<3) or (b+1=c) or (c+1=b) then writeln(g,'0.00') else write(p:3:3) ;
close (g);
end.
тке полученных компонентов массива. Исходными данными являются одномерный массив, элементы которого задаются с помощью датчика случайных чисел от -50 до +50 и целое положительное число К
B<=100).
Выходнфе данные: вывести сумму всех целых чисел от А до В включительно.
Можно, пожалуйста, с объяснением.