Сортировать нечетные числа с прямого включения в одномерном массиве. pascal abc.net четные элементы должны остаться на своем месте.

kaamazon kaamazon    2   02.09.2019 18:40    0

Ответы
leratolcynova leratolcynova  06.10.2020 12:56
// PascalABC.NET 3.2, сборка 1467 от 02.06.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  var x:=a.Where(x->x.IsOdd).ToArray;
  for var i:=1 to x.Count-1 do begin
    var (j,l):=(i-1,x[i]);
    while (j>=0) do
      if x[j]>l then begin x[j+1]:=x[j]; j-=1 end
      else break;
    x[j+1]:=l
    end;
  var j:=0;
  for var i:=0 to x.Length-1 do begin
    while a[j].IsEven do j+=1;
    a[j]:=x[i]; j+=1
    end;
  a.Println;
end.

Пример
n= 15
49 10 3 44 -25 31 -18 -9 29 43 -24 -45 -19 45 -19
-45 10 -25 44 -19 -19 -18 -9 3 29 -24 31 43 45 49
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика