Advertisement
Guest User

ArrayManipulator

a guest
May 15th, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.51 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace DeleteThat
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             List<int> numbers = Console.ReadLine()
  12.               .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
  13.               .Select(int.Parse)
  14.               .ToList();
  15.             string[] command = Console.ReadLine()
  16.                .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
  17.                .ToArray();
  18.             while (command[0] != "print")
  19.             {
  20.  
  21.                 switch (command[0])
  22.                 {
  23.                     case "add":
  24.                         numbers.Insert(int.Parse(command[1]), int.Parse(command[2]));
  25.                         break;
  26.                     case "addMany":
  27.                         {
  28.                             List<int> collection = command.Skip(2).Select(s => int.Parse(s)).ToList();
  29.                             numbers.InsertRange(int.Parse(command[1]), collection);
  30.                             break;
  31.                         }
  32.  
  33.                     case "contains":
  34.                         {
  35.                             int index = numbers.IndexOf(int.Parse(command[1]));
  36.                             Console.WriteLine(index);
  37.                             break;
  38.                         }
  39.  
  40.                     case "remove":
  41.                         numbers.RemoveAt(int.Parse(command[1]));
  42.                         break;
  43.                     case "shift":
  44.                         {
  45.                             //int rotations = int.Parse(command[1]);
  46.                             //while (rotations > 0)
  47.                             //{                                                  
  48.                             //    int firstElement = numbers[0];                                          
  49.                             //    numbers.RemoveAt(0);
  50.                             //    numbers.Add(firstElement);
  51.                             //    rotations--;
  52.                             //}
  53.                             if (int.Parse(command[1]) > numbers.Count)
  54.                             {
  55.                                 List<int> temp = numbers.Take(int.Parse(command[1]) % numbers.Count).ToList();
  56.                                 numbers = numbers.Skip(int.Parse(command[1]) % numbers.Count).ToList();
  57.                                 numbers.AddRange(temp);
  58.                             }
  59.                             else
  60.                             {
  61.                                 List<int> temp = numbers.Take(int.Parse(command[1])).ToList();
  62.                                 numbers = numbers.Skip(int.Parse(command[1])).ToList();
  63.                                 numbers.AddRange(temp);
  64.                             }
  65.                             break;
  66.  
  67.                         }
  68.  
  69.                     case "sumPairs":
  70.                         {
  71.                             for (int i = 0; i < numbers.Count - 1; i++)
  72.                             {
  73.  
  74.                                 numbers[i] += numbers[i + 1];
  75.                                 numbers.RemoveAt(i + 1);
  76.  
  77.                             }
  78.  
  79.                             break;
  80.                         }
  81.                 }
  82.  
  83.                
  84.                 command = Console.ReadLine()
  85.                .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
  86.                .ToArray();
  87.  
  88.             }
  89.             Console.WriteLine($"[{string.Join(", ", numbers)}]");
  90.         }
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement