Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.15 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace ListManipulationBasics
  6. {
  7. class Program
  8. {
  9. static void PrintEvenOrOddNumbers(List<int> numbers, string command)
  10. {
  11.  
  12. List<int> evenNumbers = new List<int>();
  13. List<int> oddNumbers = new List<int>();
  14.  
  15. for (int i = 0; i < numbers.Count; i++)
  16. {
  17. if (numbers[i] % 2 == 0)
  18. {
  19. evenNumbers.Add(numbers[i]);
  20. }
  21.  
  22. else
  23. {
  24. oddNumbers.Add(numbers[i]);
  25. }
  26. }
  27.  
  28. if (command == "printeven")
  29. {
  30. Console.WriteLine(string.Join(" ", evenNumbers));
  31. }
  32.  
  33. else
  34. {
  35. Console.WriteLine(string.Join(" ", oddNumbers));
  36. }
  37. }
  38.  
  39. static void PrintSum(List<int> numbers)
  40. {
  41.  
  42. int sum = 0;
  43.  
  44. for (int i = 0; i < numbers.Count; i++)
  45. {
  46. sum += numbers[i];
  47. }
  48.  
  49. Console.WriteLine(sum);
  50. }
  51.  
  52. static void printFilterredList(List<int> numbers, string condition, int filterValue)
  53. {
  54.  
  55. List<int> smaller = new List<int>();
  56. List<int> smallerOrEven = new List<int>();
  57. List<int> bigger = new List<int>();
  58. List<int> biggerOrEven = new List<int>();
  59.  
  60. for (int i = 0; i < numbers.Count; i++)
  61. {
  62. int currentNumber = numbers[i];
  63.  
  64. if (currentNumber > filterValue)
  65. {
  66. bigger.Add(currentNumber);
  67. }
  68.  
  69. if (currentNumber >= filterValue)
  70. {
  71. biggerOrEven.Add(currentNumber);
  72. }
  73.  
  74. if (currentNumber < filterValue)
  75. {
  76. smaller.Add(currentNumber);
  77. }
  78.  
  79. if (currentNumber <= filterValue)
  80. {
  81. smallerOrEven.Add(currentNumber);
  82. }
  83. }
  84.  
  85. List<int> result = new List<int>();
  86.  
  87. switch (condition)
  88. {
  89. case "<":
  90. result = smaller;
  91. break;
  92.  
  93. case "<=":
  94.  
  95. result = smallerOrEven;
  96. break;
  97.  
  98. case ">":
  99.  
  100. result = bigger;
  101. break;
  102.  
  103. case ">=":
  104. result = biggerOrEven;
  105. break;
  106. }
  107.  
  108. Console.WriteLine(string.Join(" ", result));
  109. }
  110.  
  111. static void Main()
  112. {
  113.  
  114. List<int> initialList = Console.ReadLine()
  115. .Split()
  116. .Select(int.Parse)
  117. .ToList();
  118.  
  119. List<int> numbers = new List<int>();
  120.  
  121. numbers.AddRange(initialList);
  122. int counter = 0;
  123.  
  124. string command = "";
  125.  
  126. while ((command = Console.ReadLine().ToLower()) != "end")
  127. {
  128. List<string> commandAsList = command
  129. .Split()
  130. .ToList();
  131.  
  132. switch (commandAsList[0])
  133. {
  134. case "add":
  135.  
  136. numbers.Add(int.Parse(commandAsList[1]));
  137. break;
  138.  
  139. case "remove":
  140.  
  141. numbers.Remove(int.Parse(commandAsList[1]));
  142. break;
  143.  
  144. case "removeat":
  145.  
  146. numbers.RemoveAt(int.Parse(commandAsList[1]));
  147. break;
  148.  
  149. case "insert":
  150.  
  151. numbers.Insert(int.Parse(commandAsList[2]), int.Parse(commandAsList[1]));
  152. break;
  153.  
  154. case "contains":
  155.  
  156. if (numbers.Contains(int.Parse(commandAsList[1])))
  157. {
  158. Console.WriteLine("Yes");
  159. }
  160.  
  161. else
  162. {
  163. Console.WriteLine("No such number");
  164. }
  165. break;
  166.  
  167. case "printeven":
  168. case "printodd":
  169.  
  170. PrintEvenOrOddNumbers(numbers, commandAsList[0]);
  171. break;
  172.  
  173. case "getsum":
  174.  
  175. PrintSum(numbers);
  176. break;
  177.  
  178. case "filter":
  179.  
  180. printFilterredList(numbers, commandAsList[1], int.Parse(commandAsList[2]));
  181. break;
  182. }
  183.  
  184. if (command == "insert" || command == "add" || command == "remove" || command == "removeat")
  185. {
  186. counter++;
  187. }
  188. }
  189.  
  190. if (counter != 0)
  191. {
  192. Console.WriteLine(string.Join(" ", numbers));
  193. }
  194. }
  195. }
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement