Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ListCommands
- {
- class Program
- {
- private static List<int> numbers;
- static void Main(string[] args)
- {
- numbers = Console.ReadLine()
- .Split(' ')
- .Select(int.Parse)
- .ToList();
- string command = Console.ReadLine();
- while (command != "End")
- {
- ProcessCommand(command);
- command = Console.ReadLine();
- }
- }
- private static void ProcessCommand(string command)
- {
- string[] commandData = command
- .Split(' ')
- .ToArray();
- switch (commandData[0])
- {
- case "random":
- Random random = new Random();
- Console.WriteLine(random.Next(1, 14));
- break;
- case "add":
- Add(commandData);
- break;
- case "insert":
- Insert(commandData);
- break;
- case "update":
- Update(commandData);
- //променя елемент на даден индекс
- break;
- case "remove":
- //премахва първото срещане на дадена стойност
- Remove(commandData);
- break;
- case "removeAt":
- RemoveAt(commandData);
- //премахва елемент на даден индекс
- break;
- case "removeAll":
- //премахва всички срещания на дадена стойност
- RemoveAll(commandData);
- break;
- case "reverse":
- //обръща реда на елементите в списъка
- Reverse(commandData);
- break;
- case "sort":
- //сортира елементите във възходящ ред
- Sort(commandData);
- break;
- case "sortDesc":
- //сортира елементите в низходящ ред
- SortDesc(commandData);
- break;
- case "contains":
- //съдържа ли се дадена стойност в списъка - yes/no
- break;
- case "indexOf":
- //индекс на първото срещане на дадена стойност
- break;
- case "allIndexesOf":
- //индекс на всичките срещания на дадена стойност
- break;
- case "print":
- //изкарва всички елементи на списъка
- Print();
- break;
- case "sum":
- //извежда сумата на всички елементи
- break;
- case "min":
- //извежда минимум
- break;
- case "max":
- //извежда максимум
- break;
- case "average":
- //извежда средно аритметично
- break;
- case "evenNumbers":
- //извежда само четните елементи
- break;
- case "oddNumbers":
- //извежда само нечетните елементи
- break;
- case "countZeroes":
- //извежда броя на нулите
- break;
- case "countEven":
- //извежда броя на четните
- break;
- case "countOdd":
- //извежда броя на нечетните
- break;
- case "divBy":
- //извежда броя на елементите, които се делят на дадено число
- break;
- default:
- break;
- }
- }
- private static void SortDesc(string[] commandData)
- {
- numbers.Sort();
- numbers.Reverse();
- }
- private static void Sort(string[] commandData)
- {
- numbers.Sort();
- }
- private static void Reverse(string[] commandData)
- {
- numbers.Reverse();
- }
- private static void RemoveAll(string[] commandData)
- {
- int number = int.Parse(commandData[1]);
- numbers.RemoveAll(item => item == number);
- }
- private static void RemoveAt(string[] commandData)
- {
- int index = int.Parse(commandData[1]);
- numbers.RemoveAt(index);
- }
- private static void Remove(string[] commandData)
- {
- int number = int.Parse(commandData[1]);
- numbers.Remove(number);
- }
- private static void Update(string[] commandData)
- {
- int index = int.Parse(commandData[1]);
- int element = int.Parse(commandData[2]);
- numbers[index] = element;
- }
- private static void Insert(string[] commandData)
- {
- int index = int.Parse(commandData[1]);
- int element = int.Parse(commandData[2]);
- numbers.Insert(index, element);
- }
- private static void Print()
- {
- Console.WriteLine(string.Join(" ", numbers));
- }
- private static void Add(string[] commandData)
- {
- int number = int.Parse(commandData[1]);
- numbers.Add(number);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement