Advertisement
marto9119

Untitled

May 15th, 2023
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.14 KB | Source Code | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Reflection;
  5.  
  6. namespace _04._List_Operations
  7. {
  8.     internal class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             List<int> listIntegers = Console.ReadLine().Split().Select(int.Parse).ToList();
  13.             string comand = Console.ReadLine();
  14.  
  15.             while (comand != "End")
  16.             {
  17.                 string[] operationComand = comand.Split().ToArray();
  18.  
  19.                 if (operationComand[0] == "Add")
  20.                 {
  21.                     //    • Add { number} – add the given number to the end of the list
  22.                     listIntegers.Add(int.Parse(operationComand[1]));
  23.                 }
  24.                 else if (operationComand[0] == "Insert")
  25.                 {
  26.                     //    • Insert {number} { index} – insert the number at the given index
  27.                     if (listIntegers.Count < int.Parse(operationComand[2]))
  28.                     {
  29.                         Console.WriteLine("Invalid index");
  30.                     }
  31.                     else
  32.                     {
  33.                         listIntegers.Insert(int.Parse(operationComand[2]), int.Parse(operationComand[1]));
  34.                     }
  35.                 }
  36.                 else if (operationComand[0] == "Remove")
  37.                 {
  38.                     //    • Remove {index} – remove the number at the given index
  39.                     if (listIntegers.Count < int.Parse(operationComand[1]))
  40.                     {
  41.                         Console.WriteLine("Invalid index");
  42.                     }
  43.                     else
  44.                     {
  45.                         listIntegers.RemoveAt(int.Parse(operationComand[1]));
  46.                     }
  47.                 }
  48.                 else if (operationComand[0] == "Shift")
  49.                 {
  50.                     if (operationComand[1] == "left")
  51.                     {
  52.                            // • Shift left { count} – first number becomes last. This has to be repeated the specified number of times
  53.                         for (int i = 0; i < int.Parse(operationComand[2]); i++)
  54.                         {
  55.                             listIntegers.Add(listIntegers[0]);
  56.                             listIntegers.RemoveAt(0);
  57.                         }
  58.  
  59.                     }
  60.                     else if (operationComand[1] == "right")
  61.                     {
  62.                         //    • Shift right {count} – last number becomes first. To be repeated the specified number of times
  63.                         for (int i = 0; i < int.Parse(operationComand[2]); i++)
  64.                         {
  65.                             listIntegers.Insert(0, listIntegers[listIntegers.Count - 1]);
  66.                             listIntegers.RemoveAt(listIntegers.Count - 1);
  67.                         }
  68.                     }
  69.                 }
  70.                 comand = Console.ReadLine();
  71.             }
  72.             Console.WriteLine(string.Join(" ", listIntegers));
  73.         }
  74.     }
  75. }
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83. //     Note: the index given may be outside of the bounds of the array. In that case print: "Invalid index".
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement