Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.52 KB | None | 0 0
  1. using System;
  2.  
  3. /* Дата: 20.11.2019
  4.  * Выполнил: Андреев Аркадий Гавриилович
  5.  * Группа: БПИ195_10
  6.  * Вариант: 13
  7.  */
  8.  
  9. namespace Task
  10. {
  11.     class Program
  12.     {
  13.         static Random rnd = new Random();
  14.         static void Main()
  15.         {
  16.             try
  17.             {
  18.                 do // цикл для повтора решения
  19.                 {
  20.                     int n; // кол-во машин в массиве
  21.                     do //ввод кол-ва машин с проверкой условия
  22.                     {
  23.                         Console.WriteLine("Введите кол-во машин n");
  24.                     } while (!int.TryParse(Console.ReadLine(), out n) || (n < 1));
  25.  
  26.                     Car[] carArray = CreateCarArray(n); // создание массива машин через метод
  27.  
  28.                     PrintArray(carArray); // вывод массива машин через метод
  29.  
  30.                     int fastCars = NumberOfFastCars(carArray);
  31.                     Console.WriteLine($"Кол-во быстрых машин: {fastCars}"); // вывод кол-ва быстрых машин
  32.  
  33.                     Console.WriteLine("Введите Escape, чтобы завершить выполнение программы...\n" +
  34.                                       "Или любую другую клавишу, чтобы продолжить...");
  35.                 } while (Console.ReadKey(true).Key != ConsoleKey.Escape);
  36.             }
  37.             catch (Exception e)
  38.             {
  39.                 Console.WriteLine("Что-то пошло не так");
  40.                 Console.WriteLine(e.Message);
  41.             }
  42.         }
  43.  
  44.         /// <summary>
  45.         /// Создание массива из машин
  46.         /// </summary>
  47.         /// <param name="n"> кол-во машин </param>
  48.         /// <returns> массив из машин </returns>
  49.         static Car[] CreateCarArray(int n)
  50.         {
  51.             Car[] arr = new Car[n];
  52.  
  53.             for (int i = 0; i < n; i++)
  54.             {
  55.                 string name = $"Car {i + 1}";
  56.                 int maxSpeed = rnd.Next(100, 200);
  57.  
  58.                 arr[i] = new Car(name, maxSpeed);
  59.             }
  60.  
  61.             return arr;
  62.         }
  63.  
  64.         /// <summary>
  65.         /// Вывод элементов массива
  66.         /// </summary>
  67.         /// <param name="arr"> массив </param>
  68.         static void PrintArray(Car[] arr)
  69.         {
  70.             for (int i = 0; i < arr.Length; i++)
  71.             {
  72.                 Console.WriteLine(arr[i]);
  73.             }
  74.         }
  75.  
  76.         /// <summary>
  77.         /// Подсчет кол-ва быстрых машин в массиве
  78.         /// </summary>
  79.         /// <param name="arr"> массив </param>
  80.         /// <returns> кол-во быстрых машин </returns>
  81.         static int NumberOfFastCars(Car[] arr)
  82.         {
  83.             int count = 0;
  84.             for (int i = 0; i < arr.Length; i++)
  85.             {
  86.                 if (arr[i].IsFast)
  87.                 {
  88.                     count++;
  89.                 }
  90.             }
  91.             return count;
  92.         }
  93.     }
  94.  
  95.     class Car
  96.     {
  97.         private string name;
  98.         private int maxSpeed;
  99.         private bool isFast;
  100.  
  101.         /// <summary>
  102.         /// Ввод названия и скорости через конструктор
  103.         /// </summary>
  104.         /// <param name="name"> название </param>
  105.         /// <param name="maxSpeed"> скорость </param>
  106.         public Car(string name, int maxSpeed)
  107.         {
  108.             this.name = name;
  109.             this.maxSpeed = maxSpeed;
  110.  
  111.             if (maxSpeed >= 150)
  112.             {
  113.                 isFast = true;
  114.             }
  115.             else
  116.             {
  117.                 isFast = false;
  118.             }
  119.         }
  120.  
  121.         /// <summary>
  122.         /// Вывод значения быстрой или медленной машины через свойство
  123.         /// </summary>
  124.         public bool IsFast => isFast;
  125.  
  126.         /// <summary>
  127.         /// Вывод объекта в подобающем виде
  128.         /// </summary>
  129.         /// <returns> строка </returns>
  130.         public override string ToString()
  131.         {
  132.             string speed = isFast ? "быстрая" : "медленная";
  133.             return $"Машина - {name}\t Скорость - {maxSpeed}\t машина {speed}";
  134.         }
  135.     }
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement