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.RegularExpressions;
- namespace ExamPreparation3
- {
- class Program
- {
- static void Main(string[] args)
- {
- var array = Console.ReadLine()
- .Split()
- .Select(int.Parse)
- .ToArray();
- int maxOdd = 0;
- int maxEven = 1;
- int minEven = int.MaxValue;
- int minOdd = int.MaxValue;
- string command = Console.ReadLine();
- while (command != "end")
- {
- if(command.Contains("exchange"))
- {
- var inputParams = command.Split();
- var index = int.Parse(inputParams[1]);
- if (index >= 0 && index < array.Length)
- {
- var leftSide = array.Take(index + 1);
- var rightSide = array.Skip(index + 1);
- var combine = rightSide.Concat(leftSide).ToArray();
- array = combine;
- }
- else
- {
- Console.WriteLine("Invalid index");
- }
- }
- else if(command == "max odd")
- {
- for (int i = 0; i < array.Length; i++)
- {
- if(array[i] % 2 != 0)
- {
- if(array[i] > maxOdd)
- {
- maxOdd = array[i];
- }
- }
- }
- if(maxOdd != 0)
- {
- var indexOf = Array.LastIndexOf(array,maxOdd);
- Console.WriteLine(indexOf);
- }
- else
- {
- Console.WriteLine("No matches");
- }
- }
- else if (command == "max even")
- {
- for (int i = 0; i < array.Length; i++)
- {
- if (array[i] % 2 == 0)
- {
- if (array[i] > maxEven)
- {
- maxEven = array[i];
- }
- }
- }
- if (maxEven != 1)
- {
- var indexOf = Array.LastIndexOf(array, maxEven);
- Console.WriteLine(indexOf);
- }
- else
- {
- Console.WriteLine("No matches");
- }
- }
- else if (command == "min even")
- {
- for (int i = 0; i < array.Length; i++)
- {
- if (array[i] % 2 == 0)
- {
- if (array[i] < minEven)
- {
- minEven = array[i];
- }
- }
- }
- if (minEven != int.MaxValue)
- {
- var indexOf = Array.LastIndexOf(array, minEven);
- Console.WriteLine(indexOf);
- }
- else
- {
- Console.WriteLine("No matches");
- }
- }
- else if (command == "min odd")
- {
- for (int i = 0; i < array.Length; i++)
- {
- if (array[i] % 2 != 0)
- {
- if (array[i] < minOdd)
- {
- minOdd = array[i];
- }
- }
- }
- if (minOdd != int.MaxValue)
- {
- var indexOf = Array.LastIndexOf(array, minOdd);
- Console.WriteLine(indexOf);
- }
- else
- {
- Console.WriteLine("No matches");
- }
- }
- else if (command.Contains("first"))
- {
- var inputParams = command.Split().ToArray();
- var count = inputParams[1];
- if (int.Parse(count) <= array.Length)
- {
- if (inputParams[2] == "odd")
- {
- var Odd = new List<int>();
- for (int i = 0; i < array.Length; i++)
- {
- if (array[i] % 2 != 0)
- {
- Odd.Add(array[i]);
- }
- }
- var result = Odd.Take(int.Parse(count)).ToArray();
- Console.WriteLine("[" + string.Join(", ", result) + "]");
- }
- if (inputParams[2] == "even")
- {
- var Even = new List<int>();
- for (int i = 0; i < array.Length; i++)
- {
- if (array[i] % 2 == 0)
- {
- Even.Add(array[i]);
- }
- }
- var result = Even.Take(int.Parse(count)).ToArray();
- Console.WriteLine("[" + string.Join(", ", result) + "]");
- }
- }
- else
- {
- Console.WriteLine("Invalid count");
- }
- }
- else if(command.Contains("last"))
- {
- var inputParams = command.Split();
- var count = inputParams[1];
- if (int.Parse(count) <= array.Length)
- {
- if (inputParams[2] == "odd")
- {
- var Odd = new List<int>();
- for (int i = 0; i < array.Length; i++)
- {
- if (array[i] % 2 != 0)
- {
- Odd.Add(array[i]);
- }
- }
- Odd.Reverse();
- var result = Odd.Take(int.Parse(count)).ToArray();
- Console.WriteLine("[" + string.Join(", ", result) + "]");
- }
- if (inputParams[2] == "even")
- {
- var Even = new List<int>();
- for (int i = 0; i < array.Length; i++)
- {
- if (array[i] % 2 == 0)
- {
- Even.Add(array[i]);
- }
- }
- Even.Reverse();
- var result = Even.Take(int.Parse(count)).ToArray();
- Console.WriteLine("[" + string.Join(", ", result) + "]");
- }
- }
- else
- {
- Console.WriteLine("Invalid count");
- }
- }
- command = Console.ReadLine();
- }
- Console.WriteLine("[" + string.Join(", ",array) + "]");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement