コード例 #1
0
    static void Main()
    {
        var input   = Console.ReadLine().Split(new [] { " " }, StringSplitOptions.RemoveEmptyEntries);
        var divider = int.Parse(Console.ReadLine());
        var result  = input
                      .Select(int.Parse)
                      .Where(x => !CreatePredicate(divider)(x))
                      .Reverse()
                      .ToList();

        Console.WriteLine(string.Join(" ", result));
    }
コード例 #2
0
    static void Main()
    {
        var members      = Console.ReadLine().Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);
        var partyMembers = new List <string>();

        partyMembers = members.ToList();
        var predicates = new List <string>();

        while (true)
        {
            var input = Console.ReadLine();
            if ("Print".Equals(input))
            {
                break;
            }

            var commandData      = input.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            var command          = commandData[0];
            var commandCondition = commandData[1];
            var commandValue     = commandData[2];
            switch (command)
            {
            case "Remove filter":
                if (predicates.Contains(commandCondition + ";" + commandValue))
                {
                    predicates.Remove(commandCondition + ";" + commandValue);
                }
                break;

            case "Add filter":
                predicates.Add(commandCondition + ";" + commandValue);
                break;
            }
        }


        if (partyMembers.Count > 0)
        {
            foreach (var item in predicates)
            {
                var conditionValuePair = item.Split(new[] { ";" }, StringSplitOptions.None);
                var condition          = conditionValuePair[0];
                var value = conditionValuePair[1];

                partyMembers = partyMembers
                               .Where(s => !CreatePredicate(condition, value)(s))
                               .ToList();
            }
            var result = string.Join(" ", partyMembers);
            Console.WriteLine(result);
        }
    }
コード例 #3
0
    static void Main()
    {
        var nameLength = int.Parse(Console.ReadLine());
        var input      = Console.ReadLine().Split(new [] { " " }, StringSplitOptions.RemoveEmptyEntries);

        for (int counter = 0; counter < input.Length; counter++)
        {
            if (CreatePredicate(nameLength)(input[counter]))
            {
                Console.WriteLine(input[counter]);
            }
        }
    }
コード例 #4
0
ファイル: PredicateParty.cs プロジェクト: genadi60/C-Advanced
    static void Main()
    {
        var members      = Console.ReadLine().Split(new [] { " " }, StringSplitOptions.RemoveEmptyEntries);
        var partyMembers = new List <string>();

        partyMembers = members.ToList();
        while (true)
        {
            var input = Console.ReadLine();
            if ("Party!".Equals(input))
            {
                break;
            }

            var commandData      = input.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);
            var command          = commandData[0];
            var commandCondition = commandData[1];
            var commandValue     = commandData[2];
            switch (command)
            {
            case "Remove":
                partyMembers = partyMembers
                               .Where(s => !CreatePredicate(commandCondition, commandValue)(s))
                               .ToList();
                break;

            case "Double":
                var counter = partyMembers.Count;
                for (int i = 0; i < counter; i++)
                {
                    if (CreatePredicate(commandCondition, commandValue)(partyMembers[i]))
                    {
                        partyMembers.Insert(i, partyMembers[i]);
                        i++;
                        counter++;
                    }
                }
                break;
            }
        }

        if (partyMembers.Count > 0)
        {
            var result = string.Join(", ", partyMembers);
            Console.WriteLine($"{result} are going to the party!");
        }
        else
        {
            Console.WriteLine("Nobody is going to the party!");
        }
    }