Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace ArrayManipulator
- {
- class Program
- {
- static void Main()
- {
- List<int> inputList = Console.ReadLine().Split().Select(int.Parse).ToList();
- while (true)
- {
- string[] tokens = Console.ReadLine().Split();
- string command = tokens[0];
- if (command == "print")
- break;
- switch (command)
- {
- case "add":
- int index = int.Parse(tokens[1]);
- int element = int.Parse(tokens[2]);
- inputList.Insert(index, element);
- break;
- case "addMany":
- index = int.Parse(tokens[1]);
- List<int> elementsToAdd = new List<int>();
- AddMany(inputList, tokens, index, elementsToAdd);
- break;
- case "contains":
- element = int.Parse(tokens[1]);
- ContainsPrintIndex(inputList, element);
- break;
- case "remove":
- index = int.Parse(tokens[1]);
- inputList.RemoveAt(index);
- break;
- case "shift":
- int positions = int.Parse(tokens[1]);
- ShiftList(inputList, positions);
- break;
- case "sumPairs":
- SumPairs(inputList);
- break;
- }
- }
- Console.WriteLine($"[{String.Join(", ", inputList)}]");
- }
- private static void SumPairs(List<int> inputList)
- {
- for (int i = 1; i < inputList.Count; i++)
- {
- int sumedPair = 0;
- sumedPair = inputList[i] + inputList[i - 1];
- inputList.Insert(i - 1, sumedPair);
- inputList.RemoveRange(i, 2);
- }
- }
- private static void ShiftList(List<int> inputList, int positions)
- {
- for (int i = 0; i < positions; i++)
- {
- inputList.Add(inputList[0]);
- inputList.RemoveAt(0);
- }
- }
- private static void ContainsPrintIndex(List<int> inputList, int element)
- {
- if (inputList.Contains(element))
- {
- for (int i = 0; i < inputList.Count; i++)
- {
- if (inputList[i] == element)
- {
- Console.WriteLine(i);
- }
- }
- }
- else
- {
- Console.WriteLine(-1);
- }
- }
- private static void AddMany(List<int> inputList, string[] tokens, int index, List<int> elementsToAdd)
- {
- for (int i = 2; i < tokens.Length; i++)
- {
- elementsToAdd.Add(int.Parse(tokens[i]));
- }
- inputList.InsertRange(index, elementsToAdd);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement