コード例 #1
0
        static void Main(string[] args)
        {
            List <Car> cars = new List <Car>();

            int numberOfCar = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfCar; i++)
            {
                string[] carInformation = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);

                string model = carInformation[0];

                int    engineSpeed = int.Parse(carInformation[1]);
                int    enginePower = int.Parse(carInformation[2]);
                Engine engine      = new Engine(engineSpeed, enginePower);

                int    cargoWeight = int.Parse(carInformation[3]);
                string cargoType   = carInformation[4];
                Cargo  cargo       = new Cargo(cargoWeight, cargoType);

                Tire[] tires = new Tire[4];
                for (int j = 0; j < tires.Length; j++)
                {
                    double tirePressure = double.Parse(carInformation[5 + 2 * j]);
                    int    tireAge      = int.Parse(carInformation[6 + 2 * j]);

                    Tire tire = new Tire(tirePressure, tireAge);
                    tires[j] = tire;
                }

                Car currenCar = new Car(model, engine, cargo, tires);
                cars.Add(currenCar);
            }

            string typeCargo = Console.ReadLine();

            if (typeCargo == "fragile")
            {
                foreach (Car car in cars.Where(x => x.Cargo.CargoType == typeCargo).Where(x => x.Tires.Any(t => t.TirePressure < 1)))
                {
                    Console.WriteLine(car.Model);
                }
            }
            else
            {
                foreach (Car car in cars.Where(x => x.Cargo.CargoType == typeCargo).Where(x => x.Engine.Power > 250))
                {
                    Console.WriteLine(car.Model);
                }
            }
        }
コード例 #2
0
        private static void CreateCars(List <Car> cars)
        {
            var carsAmount = int.Parse(Console.ReadLine());

            for (int i = 0; i < carsAmount; i++)
            {
                var carArgs = Console.ReadLine().Split();

                var speed = int.Parse(carArgs[1]);
                var power = int.Parse(carArgs[2]);

                var engine = new Engine(speed, power);

                var weight = int.Parse(carArgs[3]);
                var type   = carArgs[4];

                var cargo = new Cargo(weight, type);

                var tires = new List <Tire>(4);

                for (int index = 5; index < carArgs.Length; index += 2)
                {
                    var pressure = double.Parse(carArgs[index]);
                    var age      = int.Parse(carArgs[index + 1]);

                    var tire = new Tire(pressure, age);

                    tires.Add(tire);
                }

                var model = carArgs[0];

                var car = new Car(model, engine, cargo, tires);

                cars.Add(car);
            }
        }