Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using System.Collections.Generic;
- namespace ListManipulationAdvanced
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<int> numbers = Console.ReadLine()
- .Split()
- .Select(int.Parse)
- .ToList();
- bool isManipulated = false;
- string command;
- while ((command = Console.ReadLine()).ToLower() != "end")
- {
- string[] splittedCommand = command.Split(" ");
- switch (splittedCommand[0])
- {
- case "Contains":
- if (numbers.Contains(int.Parse(splittedCommand[1])))
- {
- Console.WriteLine("Yes");
- }
- else
- {
- Console.WriteLine("No such number");
- }
- break;
- case "PrintEven":
- PrintEven(numbers);
- break;
- case "PrintOdd":
- PrintOdd(numbers);
- break;
- case "GetSum":
- GetSum(numbers);
- break;
- case "Filter":
- if (splittedCommand[1] == "<")
- {
- PrintFilterSmallThanNumber(numbers, int.Parse(splittedCommand[2]));
- }
- else if (splittedCommand[1] == "<=")
- {
- PrintFilterSmallOrEqualThanNumber(numbers, int.Parse(splittedCommand[2]));
- }
- else if (splittedCommand[1] == ">=")
- {
- PrintFilterBiggerOrEqualThanNumber(numbers, int.Parse(splittedCommand[2]));
- }
- else
- {
- PrintFilterBiggerThanNumber(numbers, int.Parse(splittedCommand[2]));
- }
- break;
- case "Remove":
- numbers.Remove(int.Parse(splittedCommand[1]));
- isManipulated = true;
- break;
- case "Add":
- numbers.Add(int.Parse(splittedCommand[1]));
- isManipulated = true;
- break;
- case "RemoveAt":
- numbers.RemoveAt(int.Parse(splittedCommand[1]));
- isManipulated = true;
- break;
- case "Insert":
- numbers.Insert(int.Parse(splittedCommand[2]), int.Parse(splittedCommand[1]));
- isManipulated = true;
- break;
- }
- }
- if (isManipulated == true)
- {
- Console.WriteLine(string.Join(" ", numbers));
- }
- }
- static void PrintEven(List<int> numbers)
- {
- for (int i = 0; i < numbers.Count; i++)
- {
- if (numbers[i] % 2 == 0)
- {
- Console.Write(numbers[i] + " ");
- }
- }
- Console.WriteLine();
- }
- static void PrintOdd(List<int> numbers)
- {
- for (int i = 0; i < numbers.Count; i++)
- {
- if (numbers[i] % 2 != 0)
- {
- Console.Write(numbers[i] + " ");
- }
- }
- Console.WriteLine();
- }
- static void GetSum(List<int> numbers)
- {
- Console.WriteLine(numbers.AsQueryable().Sum());
- }
- static void PrintFilterSmallThanNumber(List<int> numbers, int range)
- {
- for (int i = 0; i < numbers.Count; i++)
- {
- if (numbers[i] < range)
- {
- Console.Write(numbers[i] + " ");
- }
- }
- Console.WriteLine();
- }
- static void PrintFilterSmallOrEqualThanNumber(List<int> numbers, int range)
- {
- for (int i = 0; i < numbers.Count; i++)
- {
- if (numbers[i] <= range)
- {
- Console.Write(numbers[i] + " ");
- }
- }
- Console.WriteLine();
- }
- static void PrintFilterBiggerOrEqualThanNumber(List<int> numbers, int range)
- {
- for (int i = 0; i < numbers.Count; i++)
- {
- if (numbers[i] >= range)
- {
- Console.Write(numbers[i] + " ");
- }
- }
- Console.WriteLine();
- }
- static void PrintFilterBiggerThanNumber(List<int> numbers, int range)
- {
- for (int i = 0; i < numbers.Count; i++)
- {
- if (numbers[i] > range)
- {
- Console.Write(numbers[i] + " ");
- }
- }
- Console.WriteLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement