Удаление элемента из List<> со сдвигом - C#

Узнай цену своей работы

Формулировка задачи:

Дан список от 1 до N элементов(N вводится с клавиатуры). Пользователь вводит K-ый элемент(он удаляется).Затем пользователь вводит R-ый элемент,который отсчитывается не сначала,а с K+1 элемента. Например,элементы 1 2 3 4 5 6 7.Пользователь вводит 3,получается 1 2 4 5 6 7.Пользователь снова вводит значение,на этот раз 2,получается 1 2 4 6 7.Пользователь вводит снова 3,получается 2 4 6 7.

Решение задачи: «Удаление элемента из List<> со сдвигом»

textual
Листинг программы
    static void Main()
    {
        List<int> list = new List<int> { 1, 2, 3, 4, 5, 6, 7 };
 
        int n, k = 0;
 
        while (list.Count > 0 && int.TryParse(Console.ReadLine(),
            NumberStyles.Integer,
            CultureInfo.InvariantCulture,
            out n))
        {
 
            k += --n;
 
            int removeAt = (k + 1) % list.Count;
            Console.WriteLine("RemoveAt: {0}", removeAt != 0 ? removeAt : list.Count);
 
            RemoveElement(list, k);
 
            Console.WriteLine(string.Join(" ", list));
        }
 
        Console.WriteLine("End.");
        Console.ReadKey();
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5