Удаление элемента из 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
Листинг программы
  1.     static void Main()
  2.     {
  3.         List<int> list = new List<int> { 1, 2, 3, 4, 5, 6, 7 };
  4.  
  5.         int n, k = 0;
  6.  
  7.         while (list.Count > 0 && int.TryParse(Console.ReadLine(),
  8.             NumberStyles.Integer,
  9.             CultureInfo.InvariantCulture,
  10.             out n))
  11.         {
  12.  
  13.             k += --n;
  14.  
  15.             int removeAt = (k + 1) % list.Count;
  16.             Console.WriteLine("RemoveAt: {0}", removeAt != 0 ? removeAt : list.Count);
  17.  
  18.             RemoveElement(list, k);
  19.  
  20.             Console.WriteLine(string.Join(" ", list));
  21.         }
  22.  
  23.         Console.WriteLine("End.");
  24.         Console.ReadKey();
  25.     }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут