Advertisement
Guest User

Untitled

a guest
Feb 16th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.04 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4. namespace SpisuchenManipulator
  5. {
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. var numbers = Console.ReadLine()
  11. .Split()
  12. .Select(int.Parse)
  13. .ToList();
  14.  
  15. var comandArgs = Console.ReadLine().Split();
  16. while (true)
  17. {
  18. switch (comandArgs[0])
  19. {
  20. case "Add":
  21. var index = int.Parse(comandArgs[1]);
  22. var element = int.Parse(comandArgs[2]);
  23. numbers.Insert(index, element);
  24. break;
  25. case "addMany":
  26. var index1 = int.Parse(comandArgs[1]);
  27. numbers.InsertRange(index1, comandArgs
  28. .Skip(2).Select(int.Parse).ToList());
  29. break;
  30. case "contains":
  31.  
  32. var index2 = int.Parse(comandArgs[1]);
  33. Console.WriteLine(numbers.IndexOf(index2));
  34.  
  35. break;
  36. case "remove":
  37. var index3 = int.Parse(comandArgs[1]);
  38. if (index3>0 && index3<numbers.Count)
  39. {
  40. numbers.Remove(index3);
  41. }
  42. break;
  43.  
  44. case "shift":
  45. var count=int.Parse(comandArgs[1]);
  46. for (int j = 0; j < count; j++)
  47. {
  48. var temp = numbers[0];
  49. for (int i = 0; i < numbers.Count-1; i++)
  50. {
  51. numbers[i] = numbers[i + 1];
  52. }
  53. numbers[numbers.Count - 1] = temp;
  54. }
  55. break;
  56.  
  57. case "sumPairs":
  58. var tempList = new List<int>();
  59. for (int i = 1; i < numbers.Count; i+=2)
  60. {
  61. int first = numbers[i];
  62. int second = numbers[i - 1];
  63. tempList.Add(first + second);
  64. }
  65. if (numbers.Count % 2 != 0)
  66. {
  67. tempList.Add(numbers.Last());
  68. }
  69. numbers.Clear();
  70. numbers.AddRange(tempList);
  71. break;
  72.  
  73. case "print":
  74. Console.WriteLine("["+ string.Join(", ",numbers)+"]");
  75. break;
  76. default:
  77. break;
  78. }
  79.  
  80. comandArgs = Console.ReadLine().Split();
  81.  
  82. }
  83.  
  84. }
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement