public static void Sort(Agency agency) { int temp; for (int i = 0; i < agency.count - 1; i++) { for (int j = i + 1; j < agency.count; j++) { if (agency.elems[i].info.Speed > agency.elems[j].info.Speed) { temp = agency.elems[i].info.Speed; agency.elems[i].info.Speed = agency.elems[j].info.Speed; agency.elems[j].info.Speed = temp; } } } Console.WriteLine("Cортировка по скорости прошла успешно! "); for (int i = 0; i < agency.count; i++) { Console.WriteLine((i + 1) + ") Cкорость = " + agency.elems[i].info.Speed); } }
static void Main(string[] args) { Vehicle vehicle = new Vehicle("Honda", 6435, 250, 15); Vehicle vehicle2 = new Vehicle("Honday", 6111, 290, 18); Vehicle vehicle3 = new Vehicle("Fiat", 2225, 300, 25); Cars auto3 = new Cars("AUDI", 1111, "зеленая", 290, 5); Console.WriteLine("Выведем отдельные объекты: "); Cars auto2 = new Cars("VOLVO", 3376, "красная", 180, 15); auto2.ShowCars(auto2.marka, auto2.Numb, auto2.colorOfCar, auto2.speed); auto3.ShowCars(auto3.marka, auto3.Numb, auto3.colorOfCar, auto3.speed); Console.WriteLine("Выведем массив с добавленными в него элементами: "); Agency agency = new Agency(10); agency.Add(vehicle); agency.Add(vehicle2); agency.Add(vehicle3); try { Vehicle vehicle4 = new Vehicle("AUDI", 464653, 220, 12); Console.WriteLine("Исключений не вызвано!"); } catch (CarException ex) { Console.WriteLine($"Ошибка: {ex.Message}"); Console.WriteLine($"Некорректное значение: {ex.Value}"); } catch { Console.WriteLine("Неизвестная ошибка!"); } finally { Console.WriteLine("Блок выполнился"); } agency.Add(auto2); agency.Add(auto3); agency.Show(); agency.Add(new Cars("BMW", 3525, "красная", 380, 14)); agency.Add(new Trains("Renoult", 7621, "желтая", 225, 10)); agency.Add(new Vehicle("Citroen", 5435, 320, 20)); Trains tr1 = new Trains("BZHD", 150, "6 вагонов", 70, 60); Trains tr2 = new Trains("BZHD", 100, "15 вагонов", 30, 40); agency.Show(); tr1.Firma(1, tr1.Numb); tr2.Firma(3, tr2.Numb); //______________________________________________ try { agency.Add(new Vehicle("Citroen", 5435, -320, 20)); } catch (CarException ex) { Console.WriteLine($"Ошибка: {ex.Message}"); Console.WriteLine($"Некорректное значение: {ex.Value}"); } catch { Console.WriteLine("Некорректное значение!!"); } finally { Console.WriteLine("Блок выполнился успешно!"); } try { auto3.info.Speed = -32; } catch (SpeedException ex) { Console.WriteLine($"Ошибка: {ex.Message}"); Console.WriteLine($"Некорректное значение: {ex.Value}"); } catch { Console.WriteLine("Неизвестная ошибка!"); } finally { Console.WriteLine("Элемент не изменен!"); } try { int x = 15; int y = x / 0; // DivideByZeroException Console.WriteLine($"Результат: {y}"); } catch (DivideByZeroException) { Console.WriteLine("Возникло исключение DivideByZeroException"); } catch (IndexOutOfRangeException ex) { Console.WriteLine(ex.Message); } finally { Console.WriteLine("Арифметическая ошибка!"); } //InvalidCastException: генерируется при попытке произвести недопустимые преобразования типов Console.ReadKey(); try { object obj = "Новый объект!"; int num = (int)obj; Console.WriteLine($"Результат: {num}"); } catch (InvalidCastException) { Console.WriteLine("Возникло исключение InvalidCastException! Неверное преобразование типов!"); } //NullReferenceException: генерируется при попытке обращения к объекту, который равен null(то есть по сути неопределен) Console.ReadKey(); try { string foo = null; foo.ToLower(); } catch (NullReferenceException) { Console.WriteLine("Возникло исключение NullReferenceException!"); } controller.Sort(agency); controller.minrashod(agency); Console.ReadKey(); }