Дан одномерный массив, отобразить элементы кратные 3 и отсортировать методом обмена - PascalABC.NET

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

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

Привет! Помогите, пожалуйста, решить задачу, никак не могу её решить. Дан одномерный массив, отобразить элементы кратные 3 и отсортировать методом обмена.

Решение задачи: «Дан одномерный массив, отобразить элементы кратные 3 и отсортировать методом обмена»

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 3=0).ToArray();
  writeln('Элементы кратные 3:',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. Переменная a инициализируется массивом, в который считываются элементы через пробел.
  2. Переменная b инициализируется массивом, в который попадают только элементы, кратные 3.
  3. Выводится сообщение с элементами массива b, которые кратны 3.
  4. Выводится сообщение с оригинальным отсортированным массивом a.
  5. Выводится сообщение с полученным отсортированным массивом b. Пояснение к коду:
  6. В строке a:=ReadString.Split(new string[1](' '),System.StringSplitOptions.RemoveEmptyEntries).Select(s->strtoint(s)).ToArray() считывается строка, разделенная пробелами, и преобразуется в массив целых чисел.
  7. В строке b:=a.Where((i:integer)->i mod 3=0).ToArray() из массива a выбираются только элементы, кратные 3.
  8. В строке writeln('Элементы кратные 3:',b) выводится сообщение с элементами массива b, которые кратны 3.
  9. В строке writeln('оригинальный отсортированный массив:',a.GroupBy((i:integer)->i).OrderBy((x:g)->x.key).selectmany(i->i)) сортируется и выводится оригинальный отсортированный массив a.
  10. В строке writeln('полученный отсортированный массив:',b.GroupBy((i:integer)->i).OrderBy((x:g)->x.key).selectmany(i->i)) сортируется и выводится полученный отсортированный массив b.

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


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

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

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