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

Помогите пожалуйста)
Вводится число. Получить два числа: в первом собрать все цифры, меньшие среднего арифметического всех цифр в том же порядке, как они идут в числе; а во втором - цифры >= среднего арифметического в обратном порядке (в паскале)

Ответы

Автор ответа: Аноним
0
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('Введите число');
  var avg:=s.Select(c->c.ToDigit).Average;
  var b:=s.Partition(c->c.ToDigit<avg);
  b[0].Println; b[1].Reverse.Println
end.

Пример
Введите число 425079387643267802322
420343202322
876678975
Автор ответа: rudnizkiivlad
0
b[0] и b[1] - последовательности, возможно из них сделать именно число не используя foreach?
Автор ответа: Аноним
0
Как из последовательности сделать число? В ней же много чисел...
Автор ответа: Аноним
0
Или Вы имели в виду, что последовательность содержит символы, отображающие цифры числа и их в число надо склеить?
Автор ответа: Аноним
0
Возможно, Вы имели в виду нечто типа BigInteger.Parse(b[0].JoinIntoString);
Автор ответа: rudnizkiivlad
0
Да, спасибо!
Автор ответа: rudnizkiivlad
0
Код в приложении.
Обновите версию PascalABC.NET 3.2 если не будет работать.
Приложения:
Автор ответа: Аноним
0
О...даже новомодный yield )))))
Похожие вопросы
Предмет: История, автор: milk1405399