Задан массив из n действительных чисел. Отрицательные числп в заданном массиве...

0 голосов
74 просмотров

Задан массив из n действительных чисел. Отрицательные числп в заданном массиве упорядочить по убыванию их значений.Вывести на экран исходный и новый массив.(Паскаль)


Информатика (52 баллов) | 74 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1427 от 24.04.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=SeqRandom(ReadInteger('n='),-50,50).Select(x->x/10).ToArray;
  a.Println;
  var b:=a.Where(x->x<0).OrderByDescending(x->x).ToArray;
  var j:=0;
  for var i:=0 to a.Length-1 do
    if a[i]<0 then (a[i],j):=(b[j],j+1);<br>  a.Println;
end.

Пример
n= 15
-3.6 -4.9 -4.2 1.8 -0.8 3.1 -3.3 -4.7 -2 4.1 3.1 2.3 4 -3.3 -1.6
-0.8 -1.6 -2 1.8 -3.3 3.1 -3.3 -3.6 -4.2 4.1 3.1 2.3 4 -4.7 -4.9
(150k баллов)