Advertisement
peshopbs2

Untitled

Feb 13th, 2020
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.25 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ListCommands
  8. {
  9. class Program
  10. {
  11. private static List<int> numbers;
  12.  
  13. static void Main(string[] args)
  14. {
  15. numbers = Console.ReadLine()
  16. .Split(' ')
  17. .Select(int.Parse)
  18. .ToList();
  19.  
  20. string command = Console.ReadLine();
  21. while (command != "End")
  22. {
  23. ProcessCommand(command);
  24.  
  25. command = Console.ReadLine();
  26. }
  27. }
  28.  
  29. private static void ProcessCommand(string command)
  30. {
  31. string[] commandData = command
  32. .Split(' ')
  33. .ToArray();
  34.  
  35. switch (commandData[0])
  36. {
  37. case "random":
  38. Random random = new Random();
  39. Console.WriteLine(random.Next(1, 14));
  40. break;
  41. case "add":
  42. Add(commandData);
  43. break;
  44. case "insert":
  45. Insert(commandData);
  46. break;
  47. case "update":
  48. Update(commandData);
  49. //променя елемент на даден индекс
  50. break;
  51. case "remove":
  52. //премахва първото срещане на дадена стойност
  53. Remove(commandData);
  54. break;
  55. case "removeAt":
  56. RemoveAt(commandData);
  57. //премахва елемент на даден индекс
  58. break;
  59. case "removeAll":
  60. //премахва всички срещания на дадена стойност
  61. RemoveAll(commandData);
  62.  
  63. break;
  64. case "reverse":
  65. //обръща реда на елементите в списъка
  66. Reverse(commandData);
  67. break;
  68. case "sort":
  69. //сортира елементите във възходящ ред
  70. Sort(commandData);
  71. break;
  72. case "sortDesc":
  73. //сортира елементите в низходящ ред
  74. SortDesc(commandData);
  75. break;
  76. case "contains":
  77. //съдържа ли се дадена стойност в списъка - yes/no
  78. break;
  79. case "indexOf":
  80. //индекс на първото срещане на дадена стойност
  81. break;
  82. case "allIndexesOf":
  83. //индекс на всичките срещания на дадена стойност
  84. break;
  85. case "print":
  86. //изкарва всички елементи на списъка
  87. Print();
  88. break;
  89. case "sum":
  90. //извежда сумата на всички елементи
  91. break;
  92. case "min":
  93. //извежда минимум
  94. break;
  95. case "max":
  96. //извежда максимум
  97. break;
  98. case "average":
  99. //извежда средно аритметично
  100. break;
  101. case "evenNumbers":
  102. //извежда само четните елементи
  103. break;
  104. case "oddNumbers":
  105. //извежда само нечетните елементи
  106. break;
  107. case "countZeroes":
  108. //извежда броя на нулите
  109. break;
  110. case "countEven":
  111. //извежда броя на четните
  112. break;
  113. case "countOdd":
  114. //извежда броя на нечетните
  115. break;
  116. case "divBy":
  117. //извежда броя на елементите, които се делят на дадено число
  118. break;
  119. default:
  120. break;
  121. }
  122. }
  123.  
  124. private static void SortDesc(string[] commandData)
  125. {
  126. numbers.Sort();
  127. numbers.Reverse();
  128. }
  129.  
  130. private static void Sort(string[] commandData)
  131. {
  132. numbers.Sort();
  133. }
  134.  
  135. private static void Reverse(string[] commandData)
  136. {
  137. numbers.Reverse();
  138. }
  139.  
  140. private static void RemoveAll(string[] commandData)
  141. {
  142. int number = int.Parse(commandData[1]);
  143. numbers.RemoveAll(item => item == number);
  144. }
  145.  
  146. private static void RemoveAt(string[] commandData)
  147. {
  148. int index = int.Parse(commandData[1]);
  149. numbers.RemoveAt(index);
  150. }
  151.  
  152. private static void Remove(string[] commandData)
  153. {
  154. int number = int.Parse(commandData[1]);
  155. numbers.Remove(number);
  156.  
  157. }
  158.  
  159. private static void Update(string[] commandData)
  160. {
  161. int index = int.Parse(commandData[1]);
  162. int element = int.Parse(commandData[2]);
  163. numbers[index] = element;
  164. }
  165.  
  166. private static void Insert(string[] commandData)
  167. {
  168. int index = int.Parse(commandData[1]);
  169. int element = int.Parse(commandData[2]);
  170. numbers.Insert(index, element);
  171. }
  172.  
  173. private static void Print()
  174. {
  175. Console.WriteLine(string.Join(" ", numbers));
  176. }
  177.  
  178. private static void Add(string[] commandData)
  179. {
  180. int number = int.Parse(commandData[1]);
  181. numbers.Add(number);
  182. }
  183. }
  184. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement