TheBulgarianWolf

Advanced List Manipulation

Nov 10th, 2020
324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.02 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace SoftUniLists
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             Console.Write("Enter your numbers here: ");
  12.             List<int> numbers = ReadList();
  13.             Console.WriteLine("There are several command you can use now:");
  14.             Console.WriteLine("Add {} - adds the given number to the list.");
  15.             Console.WriteLine("Remove {} - removes the given number from  the list.");
  16.             Console.WriteLine("RemoveAt {} - removes a number from the given index.");
  17.             Console.WriteLine("Insert {number} {index}  - removes a given number from a given index.");
  18.             Console.WriteLine("Contains {} - checks if the given number is in the list.");
  19.             Console.WriteLine("GetMax {} - returns the biggest number from the list.");
  20.             Console.WriteLine("Filter {condition} {number} - returns the numbers that fulfill the condition.");
  21.             Console.WriteLine("PrintOdd - prints all odd numbers from the list.");
  22.             Console.WriteLine("PrintEven - prints all even numbers from the list.");
  23.             Console.WriteLine("end - stops the program and prints the final list.");
  24.             while (true)
  25.             {
  26.                 string line = Console.ReadLine();
  27.                 if (line == "end")
  28.                 {
  29.                     break;
  30.                 }
  31.  
  32.                 string[] tokens = line.Split();
  33.                 switch (tokens[0])
  34.                 {
  35.                     case "Add":
  36.                         Add(numbers, int.Parse(tokens[1]));
  37.                         break;
  38.                     case "Remove":
  39.                         Remove(numbers, int.Parse(tokens[1]));
  40.                         break;
  41.                     case "RemoveAt":
  42.                         RemoveAt(numbers, int.Parse(tokens[1]));
  43.                         break;
  44.                     case "Insert":
  45.                         Insert(numbers, int.Parse(tokens[1]), int.Parse(tokens[2]));
  46.                         break;
  47.                     case "Contains":
  48.                         Contains(numbers, int.Parse(tokens[1]));
  49.                         break;
  50.                     case "PrintEven":
  51.                         PrintEven(numbers);
  52.                         break;
  53.                     case "PrintOdd":
  54.                         PrintOdd(numbers);
  55.                         break;
  56.                     case "GetSum":
  57.                         GetSum(numbers);
  58.                         break;
  59.                     case "Filter":
  60.                         Filter(numbers,tokens[1],int.Parse(tokens[2]));
  61.                         break;
  62.                     default:
  63.                         Console.WriteLine("Invalid command!");
  64.                         break;
  65.                 }
  66.             }
  67.  
  68.             Console.WriteLine(string.Join(" ", numbers));
  69.  
  70.         }
  71.        
  72.         static List<int> ReadList()
  73.         {
  74.             List<int> list = new List<int>();
  75.             var line = Console.ReadLine();
  76.             list = line.Split().Select(int.Parse).ToList();
  77.             return list;
  78.         }
  79.        
  80.         static void PrintList(List<int> list)
  81.         {
  82.             for (int i = 0; i < list.Count; i++)
  83.             {
  84.                 Console.WriteLine(list[i]);
  85.             }
  86.         }
  87.  
  88.         static void Add(List<int> numbers, int num)
  89.         {
  90.             numbers.Add(num);
  91.         }
  92.  
  93.         static void Remove(List<int> numbers, int num)
  94.         {
  95.             numbers.Remove(num);
  96.         }
  97.  
  98.         static void RemoveAt(List<int> numbers, int index)
  99.         {
  100.             numbers.RemoveAt(index);
  101.         }
  102.  
  103.         static void Insert(List<int> numbers, int num, int index)
  104.         {
  105.             numbers.Insert(index, num);
  106.         }
  107.  
  108.         static void Contains(List<int> numbers, int number)
  109.         {
  110.             if (numbers.Contains(number) == true)
  111.             {
  112.                 Console.WriteLine("Yes");
  113.             }
  114.             else
  115.             {
  116.                 Console.WriteLine("No such number!");
  117.             }
  118.         }
  119.  
  120.         static void PrintEven(List<int> numbers)
  121.         {
  122.             foreach (int number in numbers)
  123.             {
  124.                 if (number % 2 == 0)
  125.                 {
  126.                     Console.Write(number + " ");
  127.                 }
  128.             }
  129.         }
  130.  
  131.         static void PrintOdd(List<int> numbers)
  132.         {
  133.             foreach (int number in numbers)
  134.             {
  135.                 if (number % 2 != 0)
  136.                 {
  137.                     Console.Write(number + " ");
  138.                 }
  139.             }
  140.         }
  141.  
  142.         static void GetSum(List<int> numbers)
  143.         {
  144.             Console.WriteLine(numbers.Sum());
  145.         }
  146.  
  147.         static void Filter(List<int> numbers, string condition, int number)
  148.         {
  149.             if(condition == ">")
  150.             {
  151.                 foreach(int num in numbers)
  152.                 {
  153.                     if(number < num)
  154.                     {
  155.                         Console.Write(num + " ");
  156.                     }
  157.                    
  158.                 }
  159.             }
  160.             else if(condition == ">=")
  161.             {
  162.                 foreach (int num in numbers)
  163.                 {
  164.                     if (number <= num)
  165.                     {
  166.                         Console.Write(num + " ");
  167.                     }
  168.  
  169.                 }
  170.             }
  171.             else if(condition == "<")
  172.             {
  173.                 foreach (int num in numbers)
  174.                 {
  175.                     if (number > num)
  176.                     {
  177.                         Console.Write(num + " ");
  178.                     }
  179.  
  180.                 }
  181.             }
  182.             else if(condition == "<=")
  183.             {
  184.                 foreach (int num in numbers)
  185.                 {
  186.                     if (number >= num)
  187.                     {
  188.                         Console.Write(num + " ");
  189.                     }
  190.  
  191.                 }
  192.             }
  193.         }
  194.     }
  195. }
  196.  
Add Comment
Please, Sign In to add comment