Отсортировать по возрастанию все элементы массива, значения которых кратно 11 - PascalABC.NET

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

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

1. Дан массив из N элементов . Отсортировать по возрастанию все элементы, значения которых кратно 11. *будет круто, если сможете использовать алгоритм пузырька.

Решение задачи: «Отсортировать по возрастанию все элементы массива, значения которых кратно 11»

textual
Листинг программы
uses System.linq;
type
  g=Igrouping<integer,integer>;
var
  a,b:array of integer;
begin
  writeln('введите элементы массива через пробел:');
  a:=ReadString.Split(new string[1](' '),System.StringSplitOptions.RemoveEmptyEntries).
     Select(s->strtoint(s)).ToArray();
     b:=a.Where((i:integer)->i mod 11=0).ToArray();
  writeln('Элементы кратные 11:',b);
  writeln('оригинальный отсортированный массив:',a.GroupBy((i:integer)->i).OrderBy((x:g)->x.key).selectmany(i->i));
  writeln('полученный отсортированный массив:',b.GroupBy((i:integer)->i).OrderBy((x:g)->x.key).selectmany(i->i));
end.

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

  1. Ввод элементов массива с помощью функции ReadString.Split.
  2. Преобразование введенных строк в целые числа с помощью функции strtoint.
  3. Выборка элементов массива, кратных 11, с помощью функции Where и оператора модуля.
  4. Вывод отсортированного массива с помощью функции GroupBy, OrderBy и SelectMany.
  5. Отсортированный массив выводится на экран с помощью функции writeln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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