Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- /* Дата: 20.11.2019
- * Выполнил: Андреев Аркадий Гавриилович
- * Группа: БПИ195_10
- * Вариант: 13
- */
- namespace Task
- {
- class Program
- {
- static Random rnd = new Random();
- static void Main()
- {
- try
- {
- do // цикл для повтора решения
- {
- int n; // кол-во машин в массиве
- do //ввод кол-ва машин с проверкой условия
- {
- Console.WriteLine("Введите кол-во машин n");
- } while (!int.TryParse(Console.ReadLine(), out n) || (n < 1));
- Car[] carArray = CreateCarArray(n); // создание массива машин через метод
- PrintArray(carArray); // вывод массива машин через метод
- int fastCars = NumberOfFastCars(carArray);
- Console.WriteLine($"Кол-во быстрых машин: {fastCars}"); // вывод кол-ва быстрых машин
- Console.WriteLine("Введите Escape, чтобы завершить выполнение программы...\n" +
- "Или любую другую клавишу, чтобы продолжить...");
- } while (Console.ReadKey(true).Key != ConsoleKey.Escape);
- }
- catch (Exception e)
- {
- Console.WriteLine("Что-то пошло не так");
- Console.WriteLine(e.Message);
- }
- }
- /// <summary>
- /// Создание массива из машин
- /// </summary>
- /// <param name="n"> кол-во машин </param>
- /// <returns> массив из машин </returns>
- static Car[] CreateCarArray(int n)
- {
- Car[] arr = new Car[n];
- for (int i = 0; i < n; i++)
- {
- string name = $"Car {i + 1}";
- int maxSpeed = rnd.Next(100, 200);
- arr[i] = new Car(name, maxSpeed);
- }
- return arr;
- }
- /// <summary>
- /// Вывод элементов массива
- /// </summary>
- /// <param name="arr"> массив </param>
- static void PrintArray(Car[] arr)
- {
- for (int i = 0; i < arr.Length; i++)
- {
- Console.WriteLine(arr[i]);
- }
- }
- /// <summary>
- /// Подсчет кол-ва быстрых машин в массиве
- /// </summary>
- /// <param name="arr"> массив </param>
- /// <returns> кол-во быстрых машин </returns>
- static int NumberOfFastCars(Car[] arr)
- {
- int count = 0;
- for (int i = 0; i < arr.Length; i++)
- {
- if (arr[i].IsFast)
- {
- count++;
- }
- }
- return count;
- }
- }
- class Car
- {
- private string name;
- private int maxSpeed;
- private bool isFast;
- /// <summary>
- /// Ввод названия и скорости через конструктор
- /// </summary>
- /// <param name="name"> название </param>
- /// <param name="maxSpeed"> скорость </param>
- public Car(string name, int maxSpeed)
- {
- this.name = name;
- this.maxSpeed = maxSpeed;
- if (maxSpeed >= 150)
- {
- isFast = true;
- }
- else
- {
- isFast = false;
- }
- }
- /// <summary>
- /// Вывод значения быстрой или медленной машины через свойство
- /// </summary>
- public bool IsFast => isFast;
- /// <summary>
- /// Вывод объекта в подобающем виде
- /// </summary>
- /// <returns> строка </returns>
- public override string ToString()
- {
- string speed = isFast ? "быстрая" : "медленная";
- return $"Машина - {name}\t Скорость - {maxSpeed}\t машина {speed}";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement