Pascal одномерный массив. Упорядочить каждые 2-ые ненулевые элементы заключительной четверти

Pascal одномерный массив. Упорядочить каждые 2-ые ненулевые элементы заключительней четверти одномерного массива по убыванию оборотных значений

Задать свой вопрос
Евклидов Дмитрий
Не знаю...
Егор Певец
желая опять же округлять или откидать дробную часть)
Дарина Разнодежина
Выше я написал две вероятные по логике формулы.
Вован Трифилов
Для 19 выходит 4+4+4+7 либо 5+5+5+4, но для 17 получится 4+4+4+5 либо 5+5+5+2. В любом варианте последняя длина - не четверть
Михаил Рошан
Соотвественно , да
Ярослава Антонова-Чалая
Ещё и что-то профили сломались, кликнув на некоторых юзеров кидает 404 ошибку)
Геннадий
Ну т.е. если длина не кратна 4, это порождает головную боль.
Наталья Балаханова
Ну...мой профиль тоже обычно дает ошибку. Это криворукость местных сайтописателей. Они некоторые знаки кириллице в хэше некорректно поменяли. Такова, к образцу, буковка Э в моем нике.
Sveta
Понятно, а ещё постоянно почему-то с мобильной версии на полную кидает при переходе, когда я с телефона
Irina Lukanina
Не знаю. Мобильная версия (на мой взгляд) - это злобно и я ее даже не лицезрел. Знаю по откликам, что глючная.
1 ответ
PascalABC.NET 3.4.0, сборка 1671 от 31.05.2018
Внимание! Если программка не работает, обновите версию!

begin
  var n:=36;
  var a:=ArrRandom(n,-50,50); a.Println;
  var n4:=n div 4;
  var (s1,s2):=a.Select((v,i)-gt;(v,i)).TakeLast(n4).Where(t-gt;t[0]lt;gt;0)
      .Slice(1,2).OrderByDescending(t-gt;1/t[0]).UnZipTuple;
  foreach var t in s1.ZipTuple(s2.Sorted) do a[t[1]]:=t[0];
  a.Println
end.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт