Контроперация

Хакер Василий получил доступ к классному журналу и хочет заменить все свои минимальные оценки на максимальные. Напишите программу, которая заменяет оценки Василия, но наоборот. :)

Входные данные

В единственной строке задано количество оценок Василия (не больше 100), а затем сами оценки.

Выходные данные

Вывести исправленные оценки в том же порядке.

Алгоритм решения задачи

  • Находим, с помощью LINQ запросов, минимальный и максимальный элементы списка;
  • Оператором Select производим замену.

Решение

using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        var p = Array.ConvertAll(Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries), s => int.Parse(s)).ToList();
        var count = p[0];
        p = p.Skip(1).Take(count).ToList();
        var min = p.Min();
        var max = p.Max();
        var res = p.Select(x => x == max ? min : x);
        Console.WriteLine(string.Join(" ", res));
    }
}

Смотрите также: