Advertisement
Ivan_konov

07. List Manipulation Advanced

May 9th, 2019
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.86 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace _06._List_Manipulation_Basics
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             List<int> intList = Console.ReadLine().Split().Select(int.Parse).ToList();
  12.  
  13.             List<string> stringCommand = Console.ReadLine().Split().ToList(); // stringCommand = Contains 100, Filter >= 43 и пр.
  14.             List<int> commandResultList = new List<int>();
  15.             bool isChanged = false;
  16.  
  17.             while (stringCommand[0] != "end")
  18.             {
  19.                 switch (stringCommand[0])
  20.                 {
  21.                     case "Add":
  22.                         intList.Add(int.Parse(stringCommand[1]));
  23.                         isChanged = true;
  24.                         break;
  25.                     case "Remove":
  26.                         intList.Remove(int.Parse(stringCommand[1]));
  27.                         isChanged = true;
  28.                         break;
  29.                     case "RemoveAt":
  30.                         intList.RemoveAt(int.Parse(stringCommand[1]));
  31.                         isChanged = true;
  32.                         break;
  33.                     case "Insert":
  34.                         intList.Insert(int.Parse(stringCommand[2]), int.Parse(stringCommand[1]));
  35.                         isChanged = true;
  36.                         break;
  37.                     case "Contains":
  38.                         if (intList.Contains(int.Parse(stringCommand[1])))
  39.                         {
  40.                             Console.WriteLine("Yes");
  41.                         }
  42.                         else
  43.                         {
  44.                             Console.WriteLine("No such number");
  45.                         }
  46.                         break;
  47.                     case "PrintEven":
  48.                         commandResultList = intList.Where(x => x % 2 == 0).ToList();
  49.                         Console.WriteLine(string.Join(" ", commandResultList));
  50.                         break;
  51.                     case "PrintOdd":
  52.                         commandResultList = intList.Where(x => x % 2 != 0).ToList();
  53.                         Console.WriteLine(string.Join(" ", commandResultList));
  54.                         break;
  55.                     case "GetSum":
  56.                         int sum = 0;
  57.                         for (int i = 0; i < intList.Count; i++)
  58.                         {
  59.                             sum += intList[i];
  60.                         }
  61.                         Console.WriteLine(sum);
  62.                         break;
  63.                     case "Filter":
  64.                         if (stringCommand[1] == "<")
  65.                         {
  66.                             commandResultList = intList.Where(x => x < int.Parse(stringCommand[2])).ToList();
  67.                         }
  68.                         else if (stringCommand[1] == ">")
  69.                         {
  70.                             commandResultList = intList.Where(x => x > int.Parse(stringCommand[2])).ToList();
  71.                         }
  72.                         else if (stringCommand[1] == ">=")
  73.                         {
  74.                             commandResultList = intList.Where(x => x >= int.Parse(stringCommand[2])).ToList();
  75.                         }
  76.                         else if (stringCommand[1] == "<=")
  77.                         {
  78.                             commandResultList = intList.Where(x => x <= int.Parse(stringCommand[2])).ToList();
  79.                         }
  80.  
  81.                         Console.WriteLine(string.Join(" ", commandResultList));
  82.                         break;
  83.                     default:
  84.                         break;
  85.                 }
  86.  
  87.                 stringCommand = Console.ReadLine().Split().ToList();
  88.             }
  89.  
  90.             if (isChanged)
  91.             {
  92.                 Console.WriteLine(string.Join(" ", intList));
  93.             }
  94.         }
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement