Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.Design;
- using System.Diagnostics.CodeAnalysis;
- using System.Linq;
- namespace ConsoleApp6
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<int> numbers = Console.ReadLine().Split().Select(int.Parse).ToList();
- List<string> input = Console.ReadLine().Split().ToList();
- while (input[0] != "end")
- {
- if (input[0] == "exchange")
- {
- int indexExchange = int.Parse(input[1]);
- if (indexExchange < 0 || indexExchange >= numbers.Count)
- {
- Console.WriteLine("Invalid index");
- }
- else
- {
- for (int i = 0; i <= indexExchange; i++)
- {
- int temp = numbers[0];
- numbers.Remove(numbers[0]);
- numbers.Add(temp);
- }
- }
- }
- else if (input[0] == "max" && input[1] == "odd")
- {
- bool matchFound = false;
- int maxValue = int.MinValue;
- for (int i = 0; i < numbers.Count; i++)
- {
- int temp = numbers[i];
- if (temp % 2 == 1)
- {
- if (temp > maxValue)
- {
- maxValue = temp;
- numbers.FindIndex(x => x == maxValue);
- matchFound = true;
- }
- }
- }
- if (matchFound)
- {
- Console.WriteLine(numbers.FindIndex(x => x == maxValue));
- }
- else
- {
- Console.WriteLine("No matches");
- }
- }
- else if (input[0] == "max" && input[1] == "even")
- {
- bool matchFound = false;
- int maxValue = int.MinValue;
- for (int i = 0; i < numbers.Count; i++)
- {
- int temp = numbers[i];
- if (temp % 2 == 0)
- {
- if (temp > maxValue)
- {
- maxValue = temp;
- numbers.FindIndex(x => x == maxValue);
- matchFound = true;
- }
- }
- }
- if (matchFound)
- {
- Console.WriteLine(numbers.FindIndex(x => x == maxValue));
- }
- else
- {
- Console.WriteLine("No matches");
- }
- }
- else if (input[0] == "min" && input[1] == "odd")
- {
- bool matchFound = false;
- int minValue = int.MaxValue;
- for (int i = 0; i < numbers.Count; i++)
- {
- int temp = numbers[i];
- if (temp % 2 == 1)
- {
- if (temp < minValue)
- {
- minValue = temp;
- numbers.FindIndex(x => x == minValue);
- matchFound = true;
- }
- }
- }
- if (matchFound)
- {
- Console.WriteLine(numbers.FindIndex(x => x == minValue));
- }
- else
- {
- Console.WriteLine("No matches");
- }
- }
- else if (input[0] == "min" && input[1] == "even")
- {
- bool matchFound = false;
- int minValue = int.MaxValue;
- for (int i = 0; i < numbers.Count; i++)
- {
- int temp = numbers[i];
- if (temp % 2 == 0)
- {
- if (temp < minValue)
- {
- minValue = temp;
- numbers.FindIndex(x => x == minValue);
- matchFound = true;
- }
- }
- }
- if (matchFound)
- {
- Console.WriteLine(numbers.FindIndex(x => x == minValue));
- }
- else
- {
- Console.WriteLine("No matches");
- }
- }
- else if (input[0] == "first" && input[2] == "odd")
- {
- List<int> firstOdd = new List<int>();
- bool invalid = false;
- int count = int.Parse(input[1]);
- int counter = 0;
- if (count > numbers.Count)
- {
- Console.WriteLine("Invalid count");
- invalid = true;
- }
- else
- {
- for (int i = 0; i < numbers.Count; i++)
- {
- if (numbers[i] % 2 != 0)
- {
- firstOdd.Add(numbers[i]);
- counter++;
- if (count == counter)
- {
- break;
- }
- }
- }
- }
- if (!invalid)
- {
- Console.WriteLine($"[{string.Join(", ", firstOdd)}]");
- // Console.WriteLine("[" + (string.Join(", ", firstOdd)) + "]");
- }
- }
- else if (input[0] == "first" && input[2] == "even")
- {
- List<int> firstOdd = new List<int>();
- bool invalid = false;
- int count = int.Parse(input[1]);
- int counter = 0;
- if (count > numbers.Count)
- {
- Console.WriteLine("Invalid count");
- invalid = true;
- }
- else
- {
- for (int i = 0; i < numbers.Count; i++)
- {
- if (numbers[i] % 2 == 0)
- {
- firstOdd.Add(numbers[i]);
- counter++;
- if (count == counter)
- {
- break;
- }
- }
- }
- }
- if (!invalid)
- {
- Console.WriteLine($"[{string.Join(", ", firstOdd)}]");
- // Console.WriteLine("[" + (string.Join(", ", firstOdd)) + "]");
- }
- }
- else if (input[0] == "last" && input[2] == "even")
- {
- numbers.Reverse();
- List<int> firstOdd = new List<int>();
- bool invalid = false;
- int count = int.Parse(input[1]);
- int counter = 0;
- if (count > numbers.Count)
- {
- Console.WriteLine("Invalid count");
- invalid = true;
- }
- else
- {
- for (int i = 0; i < numbers.Count; i++)
- {
- if (numbers[i] % 2 == 0)
- {
- firstOdd.Add(numbers[i]);
- counter++;
- if (count == counter)
- {
- break;
- }
- }
- }
- numbers.Reverse();
- if (!invalid)
- {
- Console.WriteLine($"[{string.Join(", ", firstOdd)}]");
- // Console.WriteLine("[" + (string.Join(", ", firstOdd)) + "]");
- }
- }
- }
- else if (input[0] == "last" && input[2] == "odd")
- {
- numbers.Reverse();
- List<int> firstOdd = new List<int>();
- bool invalid = false;
- int count = int.Parse(input[1]);
- int counter = 0;
- if (count > numbers.Count)
- {
- Console.WriteLine("Invalid count");
- invalid = true;
- }
- else
- {
- for (int i = 0; i < numbers.Count; i++)
- {
- if (numbers[i] % 2 == 1)
- {
- firstOdd.Add(numbers[i]);
- counter++;
- if (count == counter)
- {
- break;
- }
- }
- }
- numbers.Reverse();
- if (!invalid)
- {
- Console.WriteLine($"[{string.Join(", ", firstOdd)}]");
- // Console.WriteLine("[" + (string.Join(", ", firstOdd)) + "]");
- }
- }
- }
- input = Console.ReadLine().Split().ToList();
- }
- Console.WriteLine($"[{string.Join(", ", numbers)}]");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement