Дано два массива a и b, каждый состоит из n элементов. построить третий массив c при условии ci = ai + bi. отсортировать его по возрастанию cортировкой методом подсчета. можно задать массив рандомно, а можно и в ручную, как вам будет удобней.

valeriaro294 valeriaro294    3   30.09.2019 19:20    0

Ответы
Ivan733822 Ivan733822  09.10.2020 06:08
PascalABC.NET 3.4.2, сборка 1843 от 24.10.2018Внимание! Если программа не работает, обновите версию!

begin

 var n := ReadInteger('Размер массива:');

 var k := ReadInteger('Максимальное значение элемента:');

 var a := ArrRandom(n, 0, k);

 a.Println;

 var b := ArrRandom(n, 0, k);

 b.Println;

 var c := a.Zip(b, (p, q)-> p + q).ToArray;

 c.Println;

 k := c.Max;

 var v := ArrFill(k + 1, 0);

 for var i := 0 to c.High do

   v[c[i]] += 1;

 var d := 0;

 for var j := 0 to k do

   for var i := 0 to v[j] - 1 do

   begin

     c[d] := j;

     d += 1

   end;

 c.Println

end.

Размер массива: 15Максимальное значение элемента: 4031 11 31 28 10 30 16 38 24 25 11 38 0 29 3531 36 6 35 15 2 13 34 10 6 37 14 32 31 1062 47 37 63 25 32 29 72 34 31 48 52 32 60 4525 29 31 32 32 34 37 45 47 48 52 60 62 63 72
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика