Заполнить массив случайными числами в интервале[ -100 ;100] и поменять местами соединение элементы,стоящие на четных местах,с элементами,стоящими на нечетных местах.Вычислить кол-во четных элементов.Гномья сортировка.

1

Ответы и объяснения

  • Участник Знаний
2014-04-07T23:03:36+04:00
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.