private static void Main() { var choice = GetNaturalNumber("Как создать список?\n" + "1. Случайно\n" + "2. Вручную\n" + "Ваш ответ", 1, 2); var list = new LinearList <int>(); switch (choice) { case 1: list = CreateRandomSinglyLinkedList(25); break; case 2: list = GetInputLinearList(); break; } Console.WriteLine("Исходный список:\n" + string.Join(", ", list.Select(c => c.Value.ToString())) + ";"); var results = NegativePositiveSplit(list); Console.WriteLine("Отрицательные:\n" + string.Join(", ", results[0].Select(c => c.Value.Value.ToString())) + ";"); Console.WriteLine("Положительные:\n" + string.Join(", ", results[1].Select(c => c.Value.Value.ToString())) + ";"); Console.WriteLine("\nПрограмма выполнена успешно. Нажмите любую клавишу, чтобы выйти..."); Console.ReadLine(); }
private static LinearList <int> CreateRandomSinglyLinkedList(int length) { var list = new LinearList <int>(); for (var i = 0; i < length; i++) { list.Add(Rand.Next(MinValue, MaxValue + 1)); } return(list); }
private static LinearList <int> GetInputLinearList() { var len = GetNaturalNumber("Введите длину списка", 5, 50); var list = new LinearList <int>(); for (var i = 0; i < len; i++) { var next = GetInt($"Введите {i + 1}-й элемент списка: "); list.Add(next); } return(list); }
private static LinearList <LinearListItem <int> >[] NegativePositiveSplit(LinearList <int> list) { var lists = new[] { new LinearList <LinearListItem <int> >(), new LinearList <LinearListItem <int> >() }; foreach (var item in list) { if (item.Value < 0) { lists[0].Add(item); } else if (item.Value > 0) { lists[1].Add(item); } } return(lists); }