Используя подпрограмму ранжирования, найти сумму - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Используя подпрограмму ранжирования, найти сумму 3-х наибольших по модулю элементов массива: Т= (-1,2,1,-1,-4,0,2,5,3,-2,1) Распечатать массив после ранжирования.

Решение задачи: «Используя подпрограмму ранжирования, найти сумму»

textual
Листинг программы
begin
  var a: array of integer := (-1, 2, 1, -1, -4, 0, 2, 5, 3, -2, 1); a.Println;
  a := a.OrderBy(v -> abs(v)).ToArray;
  writelnformat('Сортированный массив: {0}{2}Сумма 3-х наибольших по модулю: {1}',
    a.JoinIntoString, a.Reverse.Take(3).Sum, NewLine);
end.

Объяснение кода листинга программы

  1. Создается массив a с элементами -1, 2, 1, -1, -4, 0, 2, 5, 3, -2, 1
  2. Массив a выводится на экран с помощью a.Println
  3. Массив a сортируется по модулю с помощью a := a.OrderBy(v -> abs(v)).ToArray
  4. Выводится отсортированный массив a с помощью writelnformat('Сортированный массив: {0}{2}Сумма 3-х наибольших по модулю: {1}', a.JoinIntoString, a.Reverse.Take(3).Sum, NewLine)
  5. Выводится сумма трех наибольших элементов массива a с помощью a.Reverse.Take(3).Sum
  6. Используется NewLine для перехода на новую строку
  7. В итоге выводится строка отформатированного вывода, включающая отсортированный массив и сумму трех наибольших элементов массива.

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы