Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- public class ArrayManipulator
- {
- public static void Main()
- {
- List<int> numbers = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
- string[] input = Console.ReadLine().Split(' ');
- string command = input[0];
- while (command != "print")
- {
- numbers = ExecutesCommand(numbers, command, input);
- input = Console.ReadLine().Split(' ');
- command = input[0];
- }
- Console.WriteLine("[" + string.Join(", ", numbers) + "]");
- }
- static List<int> ExecutesCommand(List<int> numbers, string command, string[] input)
- {
- switch (command)
- {
- case "add":
- int index = int.Parse(input[1]);
- int element = int.Parse(input[2]);
- numbers.Insert(index, element);
- break;
- case "addMany":
- index = int.Parse(input[1]);
- List<int> elements = new List<int>();
- for (int i = 2; i < input.Length; i++)
- {
- elements.Add(int.Parse(input[i]));
- }
- numbers.InsertRange(index, elements);
- break;
- case "contains":
- element = int.Parse(input[1]);
- index = numbers.IndexOf(element);
- Console.WriteLine(index);
- break;
- case "remove":
- index = int.Parse(input[1]);
- numbers.RemoveAt(index);
- break;
- case "shift":
- int positions = int.Parse(input[1]);
- List<int> demo = numbers.GetRange(positions, numbers.Count - positions);
- demo.AddRange(numbers.GetRange(0, positions));
- numbers = demo;
- break;
- case "sumPairs":
- for (int i = 0; i < numbers.Count - 1; i++)
- {
- numbers[i] += numbers[i + 1];
- numbers.Remove(numbers[i + 1]);
- }
- break;
- }
- return numbers;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement