Информатика, вопрос задал warframed981 , 1 год назад

Ребят помогите!! Паскаль
Напишите программу, которая в последовательности целых чисел определяет разность количества четных и нечетных чисел. Программа получает на вход числа последовательности, условием остановки является ввод числа 0. Количество чисел заранее неизвестно, но не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число — разность количества четных и нечетных чисел.

Ответы на вопрос

Ответил KnowsUser1
0

Ответ:

PascalABC.NET 3.6.2

begin

 var S := ReadSeqIntegerWhile(p -> p <> 0).ToList;

 var odd := S.Where(p -> p mod 2 <> 0).Count;

 var even := S.Where(p -> p mod 2 = 0).Count;

 var diff := abs(even - odd);

 diff.Println;

end.


KnowsUser1: Не вижу тут ничего зазорного, приводить последовательность к листу и далее работать уже с объектом, поведение которого куда более очевидно и предсказуемо. Не под спутник космический мозги пишем, авось у человека, который будет это запускать найдётся пару десятков лишних байт памяти
Ответил BobbyFresnel
0

// PascalABC.NET

begin

   var diff := 0;

   ReadSeqIntegerWhile(p -> p <> 0)

       .Foreach(p -> begin diff += p.IsOdd ? -p : p end);

   diff.Print

end.

Новые вопросы