Заполнить массив случайными числами в интервале[ -100 ;100] и поменять местами соединение элементы,стоящие на четных местах,с элементами,стоящими на нечетных местах.Вычислить кол-во четных элементов.Гномья сортировка.
Заполнить массив случайными числами в интервале[ -100 ;100] и поменять местами соединение элементы,стоящие на четных местах,с элементами,стоящими на нечетных местах.Вычислить кол-во четных элементов.Гномья сортировка.
Ответ(ы) на вопрос:
var
i,j,t,x:integer;
a:array[1..10]of integer;
begin
writeln('Исходный массив:');
for i:=1 to 10 do
begin
a[i]:=random(-100,100);
write(a[i]:5)
end;
i:=2;
while i<11 do
begin
t:=a[i];
a[i]:=a[i-1];
a[i-1]:=t;
i:=i+2
end;
writeln;
writeln('Переставленный массив:');
for i:=1 to 10 do
begin
write(a[i]:5);
if a[i] mod 2=0 then x:=x+1
end;
writeln;
writeln('Четных элементов: ',x);
//Гномья сортировка
i:= 2;
j:= 3;
while i < 11 do
if a[i - 1] > a[i] then
begin
i:= j;
j:= j + 1
end
else
begin
t:= a[i - 1];
a[i - 1]:= a[i];
a[i]:=t;
i:= i - 1;
if i = 1 then
begin
i:= j;
j:= j + 1
end
end;
writeln('Отсортированный массив:');
for i:=1 to 10 do write(a[i]:5)
end.
Не нашли ответ?
Похожие вопросы