Предмет: Информатика, автор: айвенго2

Дан массив целых чисел. Отсортировать по возрастанию только элементы массива, стоящие в ячейках с нечётными номерами. Паскаль​

Ответы

Автор ответа: Вованичикчка
2

// PascalABC.Net

// Первая программа, если необходимо выбрать нечетные элементы и их отсортировать.

begin

   var a := ArrRandom(10);

   writeln('Исходный массив: ');

   a.PrintLn(', ');

   writeln('Отсортированный массив нечетных элементов: ');

   a.Where(e -> e mod 2 <> 0).OrderBy(e -> e).Print(', ');

end.

// Вторая программа, если необходимо в исходном массиве отсортировать нечетные значения

begin

   var a := ArrRandom(10);

   writeln('Исходный массив: ');

   a.PrintLn(', ');

   writeln('Отсортированный массив нечетных элементов: ');

   var odd := a.Select((e, i) -> (i, e)).Where(e -> e[1] mod 2 <> 0).OrderBy(e -> e[1]);

   var sortedOdd := odd.Zip(odd.Select(e -> e[0]).OrderBy(e -> e), (f, s) -> (s, f[1]));

   foreach var e in sortedOdd do

       a[e[0]] := e[1];

   a.PrintLn(', ');

end.


Вованичикчка: хмм, я даже и не вчитывался
Вованичикчка: ну тут задача не сложная
Вованичикчка: сейчас выполню
Вованичикчка: выглядит, кончено, костыляво
Вованичикчка: хмм, я опять неправильно понял задание. Я сделал сортировку нечетных элементов, а не элементов под нечетными индексами
Вованичикчка: поэтому у меня так много "прогонов по массивам"
Похожие вопросы