- Информатика
- C# Дана последовательность
C#
Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0.
Выведите все нечетные числа из этой последовательности, сохраняя их порядок
В этой задаче нельзя использовать глобальные переменные и передавать какие-либо параметры в рекурсивную функцию
Функция получает данные, считывая их с клавиатуры
Функция не возвращает значение, а сразу же выводит результат на экран Основная программа должна состоять только из вызова этой функции
using System;
using System.Collections;
using System.Collections.Generic;
namespace CSLear
{
class Program
{
static void Main(string[] args)
{
var InputStream = ReadSeqWhile(x => x != 0);
foreach (int item in InputStream)
{
if (item % 2 != 0) { Console.WriteLine(item); }
}
}
public static IEnumerable<int> ReadSeqWhile(Func <int, bool> Predicate)
{
var rtemp = int.Parse(Console.ReadLine());
while (Predicate(rtemp))
{
yield return rtemp;
rtemp = int.Parse(Console.ReadLine());
}
}
}
}
Объяснение: