Задан массив из n действительных чисел. отрицательные числп в заданном массиве упорядочить по убыванию их значений.вывести на экран исходный и новый массив.(паскаль)
// 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); a.Println; end.
// Внимание! Если программа не работает, обновите версию!
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);
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