Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1.  
  2. List<int> numbers = Console.ReadLine().Split().Select(int.Parse).ToList();
  3. string line = Console.ReadLine();
  4.  
  5. while (line != "End")
  6. {
  7. string[] order = line.Split();
  8. switch (order[0])
  9. {
  10. case "Add":
  11. numbers.Add(int.Parse(order[1]));
  12. break;
  13.  
  14. case "Remove":
  15. if (int.Parse(order[1]) < 0 || int.Parse(order[1]) >= numbers.Count)
  16. {
  17. Console.WriteLine("Invalid index");
  18. }
  19. else
  20. {
  21. numbers.RemoveAt(int.Parse(order[1]));
  22. }
  23. break;
  24.  
  25. case "Insert":
  26. if (int.Parse(order[2]) >= 0 && int.Parse(order[2]) < numbers.Count)
  27. {
  28. numbers.Insert(int.Parse(order[2]), int.Parse(order[1]));
  29. }
  30. else
  31. {
  32. Console.WriteLine("Invalid index");
  33. }
  34.  
  35. break;
  36. }
  37.  
  38. switch (order[1])
  39. {
  40. case "left": ShiftLeft(numbers, int.Parse(order[2]));
  41. break;
  42. case "right":
  43. ShiftRight(numbers, int.Parse(order[2]));
  44. break;
  45. }
  46.  
  47. line = Console.ReadLine();
  48. }
  49. for (int i = 0; i < numbers.Count; i++)
  50. {
  51. Console.Write("{0} ", numbers[i]);
  52. }
  53. }
  54. static void ShiftLeft(List<int> numbers, int count)
  55. {
  56. for (int i = 0; i < count; i++)
  57. {
  58. numbers.Add(numbers[0]);
  59. numbers.RemoveAt(0);
  60. }
  61. }
  62. static void ShiftRight(List<int> numbers, int count)
  63. {
  64.  
  65. for (int i = 0; i < count; i++)
  66. {
  67. numbers.Insert(0, numbers[numbers.Count - 1]);
  68. numbers.RemoveAt(numbers.Count-1);
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement