Esempio n. 1
0
        static void Main(string[] args)
        {
            int carsCount = int.Parse(Console.ReadLine());
            var cars      = new Dictionary <string, Car>();

            for (int count = 0; count < carsCount; count++)
            {
                string[] carInfo = Console.ReadLine().Split();

                Engine engine = new Engine
                {
                    Speed = int.Parse(carInfo[1]),
                    Power = int.Parse(carInfo[2])
                };
                Cargo cargo = new Cargo
                {
                    Weigth = int.Parse(carInfo[3]),
                    Type   = carInfo[4]
                };
                List <Tire> tires = new List <Tire>
                {
                    new Tire {
                        Pressure = double.Parse(carInfo[5]), Age = int.Parse(carInfo[6])
                    },
                    new Tire {
                        Pressure = double.Parse(carInfo[7]), Age = int.Parse(carInfo[8])
                    },
                    new Tire {
                        Pressure = double.Parse(carInfo[9]), Age = int.Parse(carInfo[10])
                    },
                    new Tire {
                        Pressure = double.Parse(carInfo[11]), Age = int.Parse(carInfo[12])
                    }
                };
                Car car = new Car
                {
                    Model  = carInfo[0],
                    Engine = engine,
                    Cargo  = cargo,
                    Tires  = tires
                };

                if (cars.ContainsKey(car.Model) == false)
                {
                    cars.Add(car.Model, car);
                }
            }

            string command = Console.ReadLine();

            switch (command)
            {
            case "fragile":
                Console.WriteLine(string.Join(Environment.NewLine, cars.Values.Where(c => c.Cargo.Type == "fragile" && c.Tires.Any(t => t.Pressure < 1))));
                break;

            case "flamable":
                Console.WriteLine(string.Join(Environment.NewLine, cars.Values.Where(c => c.Cargo.Type == "flamable" && c.Engine.Power > 250)));
                break;
            }
        }
        public static void Main(string[] args)
        {
            int numberOfCars = int.Parse(Console.ReadLine());

            List <Car> cars = new List <Car>();

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

                string model       = tokens[0];
                int    engineSpeed = int.Parse(tokens[1]);
                int    enginePower = int.Parse(tokens[2]);
                int    cargoWeight = int.Parse(tokens[3]);
                string cargoType   = tokens[4];

                double firstTirePressure  = double.Parse(tokens[5]);
                int    firstTireAge       = int.Parse(tokens[6]);
                double secondTirePressure = double.Parse(tokens[7]);
                int    secondTireAge      = int.Parse(tokens[8]);
                double thirdTirePressure  = double.Parse(tokens[9]);
                int    thirdTireAge       = int.Parse(tokens[10]);
                double fourthTirePressure = double.Parse(tokens[11]);
                int    fourthTireAge      = int.Parse(tokens[12]);

                Tire firstTire  = new Tire(firstTirePressure, firstTireAge);
                Tire secondTire = new Tire(secondTirePressure, secondTireAge);
                Tire thirdTire  = new Tire(thirdTirePressure, thirdTireAge);
                Tire fourthTire = new Tire(fourthTirePressure, fourthTireAge);

                List <Tire> tires = new List <Tire>(4)
                {
                    firstTire,
                    secondTire,
                    thirdTire,
                    fourthTire
                };

                Engine engine = new Engine(engineSpeed, enginePower);
                Cargo  cargo  = new Cargo(cargoWeight, cargoType);

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

                cars.Add(car);
            }

            string command = Console.ReadLine();

            if (command == "fragile")
            {
                cars
                .Where(c => c.cargo.cargoType == "fragile")
                .Where(c => c.tires.Any(t => t.tirePressure < 1))
                .Select(m => m.Model)
                .ToList()
                .ForEach(m => Console.WriteLine(m));
            }
            else if (command == "flamable")
            {
                cars
                .Where(c => c.cargo.cargoType == "flamable")
                .Where(e => e.engine.enginePower > 250)
                .Select(m => m.Model)
                .ToList()
                .ForEach(m => Console.WriteLine(m));
            }
        }
Esempio n. 3
0
        public static void Main()
        {
            var numberCars = int.Parse(Console.ReadLine());
            var cars       = new List <Car>();

            for (int i = 0; i < numberCars; i++)
            {
                var input = Console.ReadLine().Split(' ').ToArray();

                var model  = input[0];
                var engine = new Engine
                {
                    Speed = int.Parse(input[1]),
                    Power = int.Parse(input[2])
                };

                var cargo = new Cargo
                {
                    Weight = int.Parse(input[3]),
                    Type   = input[4]
                };

                var tires = new List <Tire>();

                var tire1 = new Tire
                {
                    Pressure = double.Parse(input[5]),
                    Age      = int.Parse(input[6])
                };
                tires.Add(tire1);

                var tire2 = new Tire
                {
                    Pressure = double.Parse(input[7]),
                    Age      = int.Parse(input[8])
                };
                tires.Add(tire2);

                var tire3 = new Tire
                {
                    Pressure = double.Parse(input[9]),
                    Age      = int.Parse(input[10])
                };
                tires.Add(tire3);

                var tire4 = new Tire
                {
                    Pressure = double.Parse(input[11]),
                    Age      = int.Parse(input[12])
                };
                tires.Add(tire4);

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

            var command = Console.ReadLine();
            var answer  = new StringBuilder();

            if (command == "fragile")
            {
                //var searchedCars = cars.Where(c => c.Cargo.Type == command && c.Tires.Where(p => p.Pressure < 1).FirstOrDefault() != null).ToList();
                var searchedCars = cars.Where(c => c.Cargo.Type == command)
                                   .Where(c => c.Tires.Where(p => p.Pressure < 1).FirstOrDefault() != null)
                                   .ToList();

                foreach (var car in searchedCars)
                {
                    answer.Append(car.Model).Append('\n');
                }
            }
            else
            {
                var searchedCars = cars.Where(c => c.Cargo.Type == command).Where(c => c.Engine.Power > 250).ToList();
                foreach (var car in searchedCars)
                {
                    answer.Append(car.Model).Append('\n');
                }
            }

            Console.WriteLine(answer);
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            int        n    = int.Parse(Console.ReadLine());
            List <Car> cars = new List <Car>();

            for (int i = 0; i < n; i++)
            {
                string[] info        = Console.ReadLine().Split();
                string   model       = info[0];
                int      engineSpeed = int.Parse(info[1]);
                int      enginePower = int.Parse(info[2]);
                Engine   engine      = new Engine(engineSpeed, enginePower);

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

                double tire1Pressure = double.Parse(info[5]);
                int    tire1Year     = int.Parse(info[6]);
                Tires  tire1         = new Tires(tire1Pressure, tire1Year);

                double tire2Pressure = double.Parse(info[7]);
                int    tire2Year     = int.Parse(info[8]);
                Tires  tire2         = new Tires(tire2Pressure, tire2Year);

                double tire3Pressure = double.Parse(info[9]);
                int    tire3Year     = int.Parse(info[10]);
                Tires  tire3         = new Tires(tire3Pressure, tire3Year);

                double tire4Pressure = double.Parse(info[11]);
                int    tire4Year     = int.Parse(info[12]);
                Tires  tire4         = new Tires(tire4Pressure, tire4Year);

                List <Tires> tires = new List <Tires> {
                    tire1, tire2, tire3, tire4
                };

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

                cars.Add(car);
            }

            string command = Console.ReadLine();

            if (command == "fragile")
            {
                List <Car> fragileCars = new List <Car>();
                fragileCars = cars.Where(c => c.Cargo.CargoType == "fragile")
                              .Where(c => c.Tires.Any(p => p.TirePressure < 1)).ToList();

                foreach (Car car in fragileCars)
                {
                    Console.WriteLine(car.Model);
                }

                //cars.Where(c => c.Cargo.CargoType == "fragile").Where(c => c.Tires.Any(t => t.TirePressure < 1))
                //.Select(c => c.Model).ToList().ForEach(m => Console.WriteLine(m));
            }
            else if (command == "flamable")
            {
                List <Car> flamableCars = new List <Car>();
                flamableCars = cars.Where(c => c.Cargo.CargoType == "flamable")
                               .Where(c => c.Engine.EnginePower > 250).ToList();

                foreach (Car car in flamableCars)
                {
                    Console.WriteLine(car.Model);
                }

                //cars.Where(c => c.Cargo.CargoType == "flamable").Where(c => c.Engine.EnginePower > 250)
                //.Select(c => c.Model).ToList().ForEach(m => Console.WriteLine(m));
            }
        }
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());

            List <Car> cars = new List <Car>();

            for (int i = 0; i < n; i++)
            {
                string[] data = Console.ReadLine()
                                .Split(' ', StringSplitOptions.RemoveEmptyEntries);
                string model         = data[0];
                int    engineSpeed   = int.Parse(data[1]);
                int    enginePower   = int.Parse(data[2]);
                int    cargoWeight   = int.Parse(data[3]);
                string cargoType     = data[4];
                double tire1Pressure = double.Parse(data[5]);
                int    tire1Age      = int.Parse(data[6]);
                double tire2Pressure = double.Parse(data[7]);
                int    tire2Age      = int.Parse(data[8]);
                double tire3Pressure = double.Parse(data[9]);
                int    tire3Age      = int.Parse(data[10]);
                double tire4Pressure = double.Parse(data[11]);
                int    tire4Age      = int.Parse(data[12]);

                //FACTORY PATTERN - creating all objects seperately and adding them in the car object
                Engine engine = CreateEngine(engineSpeed, enginePower);
                Cargo  cargo  = CreateCargo(cargoWeight, cargoType);
                Tire[] tires  = new Tire[]
                {
                    CreateTire(tire1Pressure, tire1Age),
                    CreateTire(tire2Pressure, tire2Age),
                    CreateTire(tire3Pressure, tire3Age),
                    CreateTire(tire4Pressure, tire4Age),
                };

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

                cars.Add(car);
            }

            string input = Console.ReadLine();

            if (input == "fragile")
            {
                foreach (Car car in cars)
                {
                    if (car.Cargo.CargoType == "fragile" && car.Tires.Any(t => t.Pressure < 1))
                    {
                        Console.WriteLine(car.Model);
                    }
                }
            }
            else if (input == "flamable")
            {
                foreach (Car car in cars)
                {
                    if (car.Cargo.CargoType == "flamable" && car.Engine.Power > 250)
                    {
                        Console.WriteLine(car.Model);
                    }
                }
            }
        }
Esempio n. 6
0
        public static void Main(string[] args)
        {
            int numberCars = int.Parse(Console.ReadLine());

            List <Car> cars = new List <Car>();

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

                string model = carInfo[0];

                int engineSpeed = int.Parse(carInfo[1]);
                int enginePower = int.Parse(carInfo[2]);

                int    cargoWeight = int.Parse(carInfo[3]);
                string cargoType   = carInfo[4];

                double tire1Pressure = double.Parse(carInfo[5]);
                int    tire1Age      = int.Parse(carInfo[6]);
                double tire2Pressure = double.Parse(carInfo[7]);
                int    tire2Age      = int.Parse(carInfo[8]);
                double tire3Pressure = double.Parse(carInfo[9]);
                int    tire3Age      = int.Parse(carInfo[10]);
                double tire4Pressure = double.Parse(carInfo[11]);
                int    tire4Age      = int.Parse(carInfo[12]);

                Engine engine = new Engine(engineSpeed, enginePower);
                Cargo  cargo  = new Cargo(cargoWeight, cargoType);

                Tire[] tires = new Tire[4]
                {
                    new Tire(tire1Age, tire1Pressure),
                    new Tire(tire2Age, tire2Pressure),
                    new Tire(tire3Age, tire3Pressure),
                    new Tire(tire4Age, tire4Pressure)
                };

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

                cars.Add(car);
            }

            string command = Console.ReadLine();

            if (command == "fragile")
            {
                cars = cars
                       .Where(car => car.Cargo.CargoType == "fragile")
                       .Where(car => car.IsPressureLessThanOne(car))
                       .ToList();

                //cars = cars
                //    .Where(car => car.Cargo.CargoType == "fragile" &&
                //                  car.Tires.Any(t => t.TirePressure < 1))
                //                  .ToList();
            }

            if (command == "flamable")
            {
                cars = cars
                       .Where(car => car.Cargo.CargoType == "flamable")
                       .Where(car => car.Engine.EnginePower > 250)
                       .ToList();
            }

            //cars.ForEach(car => Console.WriteLine(car.Model));

            Console.WriteLine(String.Join(Environment.NewLine, cars));
        }
Esempio n. 7
0
        public static void Main()
        {
            int countCars = int.Parse(Console.ReadLine());

            List <Car> cars = new List <Car>();

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

                string model       = elements[0];
                int    engineSpeed = int.Parse(elements[1]);
                int    enginePower = int.Parse(elements[2]);
                int    cargoWeight = int.Parse(elements[3]);
                string cargoType   = elements[4];

                double tire1Pressure = double.Parse(elements[5]);
                int    tire1Age      = int.Parse(elements[6]);
                double tire2Pressure = double.Parse(elements[7]);
                int    tire2Age      = int.Parse(elements[8]);
                double tire3Pressure = double.Parse(elements[9]);
                int    tire3Age      = int.Parse(elements[10]);
                double tire4Pressure = double.Parse(elements[11]);
                int    tire4Age      = int.Parse(elements[12]);

                Engine engine = new Engine(engineSpeed, enginePower);
                Cargo  cargo  = new Cargo(cargoWeight, cargoType);
                Tire[] tires  = new Tire[4]
                {
                    new Tire(tire1Pressure, tire1Age),
                    new Tire(tire2Pressure, tire2Age),
                    new Tire(tire3Pressure, tire3Age),
                    new Tire(tire4Pressure, tire4Age),
                };
                Car car = new Car(model, engine, cargo, tires);
                cars.Add(car);
            }

            string command = Console.ReadLine();

            if (command == "fragile")
            {
                var result = cars.Where(x => x.Cargo.CargoType == "fragile")
                             .Where(x => x.Tires.Any(p => p.TirePressure < 1))
                             .ToList();

                foreach (var item in result)
                {
                    Console.WriteLine(item.Model);
                }
            }
            else
            {
                var result = cars.Where(x => x.Cargo.CargoType == "flamable")
                             .Where(x => x.Engine.EnginePower > 250)
                             .ToList();

                foreach (var item in result)
                {
                    Console.WriteLine(item.Model);
                }
            }
        }
Esempio n. 8
0
        public static void Main()
        {
            int carsCount = int.Parse(Console.ReadLine());

            var cars = new List <Car>();

            for (int i = 0; i < carsCount; i++)
            {
                var carInfo = Console.ReadLine()
                              .Split(" ", StringSplitOptions.RemoveEmptyEntries)
                              .ToArray();

                string model       = carInfo[0];
                int    engineSpeed = int.Parse(carInfo[1]);
                int    enginePower = int.Parse(carInfo[2]);

                var engine = new Engine(engineSpeed, enginePower);

                int    cargoWeight = int.Parse(carInfo[3]);
                string cargoType   = carInfo[4];

                var cargo = new Cargo(cargoWeight, cargoType);

                var tires = new Tire[4]
                {
                    new Tire(double.Parse(carInfo[5]), int.Parse(carInfo[6])),
                    new Tire(double.Parse(carInfo[7]), int.Parse(carInfo[8])),
                    new Tire(double.Parse(carInfo[9]), int.Parse(carInfo[10])),
                    new Tire(double.Parse(carInfo[11]), int.Parse(carInfo[12])),
                };

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

                cars.Add(car);
            }

            string command = Console.ReadLine();

            if (command == "fragile")
            {
                var result = cars
                             .Where(x => x.Cargo.Type == "fragile")
                             .Where(x => x.Tires.Any(y => y.Pressure < 1))
                             .ToList();

                foreach (var car in result)
                {
                    Console.WriteLine(car);
                }
            }
            else if (command == "flamable")
            {
                var result = cars
                             .Where(x => x.Cargo.Type == "flamable")
                             .Where(x => x.Engine.Power > 250)
                             .ToList();

                foreach (var car in result)
                {
                    Console.WriteLine(car);
                }
            }
        }
Esempio n. 9
0
        public static void Main(string[] args)
        {
            var n    = int.Parse(Console.ReadLine());
            var cars = new List <Car>();


            for (int i = 0; i < n; i++)
            {
                var inputInfo = Console.ReadLine()
                                .Split(" ", StringSplitOptions.RemoveEmptyEntries);

                var model       = inputInfo[0];
                var engineSpeed = int.Parse(inputInfo[1]);
                var enginPower  = int.Parse(inputInfo[2]);
                var cargoWeight = int.Parse(inputInfo[3]);
                var cargoType   = inputInfo[4];

                var tires = new Tire[]
                {
                    new Tire(double.Parse(inputInfo[5]), int.Parse(inputInfo[6])),
                    new Tire(double.Parse(inputInfo[7]), int.Parse(inputInfo[8])),
                    new Tire(double.Parse(inputInfo[9]), int.Parse(inputInfo[10])),
                    new Tire(double.Parse(inputInfo[11]), int.Parse(inputInfo[12])),
                };


                var engine = new Engine(engineSpeed, enginPower);
                var cargo  = new Cargo(cargoWeight, cargoType);

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

                cars.Add(car);
            }

            var command = Console.ReadLine();

            if (command == "fragile")
            {
                cars = cars
                       .Where(car => car.Cargo.CargoType == "fragile")
                       .Where(car => (car.Tires.Any(p => p.Pressure < 1)))
                       .ToList();

                foreach (var car in cars)
                {
                    Console.WriteLine(car.Model);
                }
            }
            else if (command == "flamable")
            {
                cars = cars
                       .Where(car => car.Cargo.CargoType == "flamable")
                       .Where(car => car.Engine.EnginePower > 250)
                       .ToList();

                foreach (var car in cars)
                {
                    Console.WriteLine(car.Model);
                }
            }
        }
Esempio n. 10
0
        static void Main(string[] args)
        {
            List <RawData> cars      = new List <RawData>();
            int            carsCount = int.Parse(Console.ReadLine());

            for (int i = 0; i < carsCount; i++)
            {
                string[] carEntry = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);
                //"{model}
                //{ engineSpeed} {enginePower}
                //{ cargoWeight} {cargoType}
                //{ tire1Pressure} {tire1Age} {tire2Pressure} {tire2Age} {tire3Pressure} {tire3Age} {tire4Pressure} {tire4Age}
                string model     = carEntry[0];
                int    speed     = int.Parse(carEntry[1]);
                int    power     = int.Parse(carEntry[2]);
                int    weight    = int.Parse(carEntry[3]);
                string cargoType = carEntry[4];

                var engine = new Engine(speed, power);
                var cargo  = new Cargo(weight, cargoType);


                var tire = new Tire[4]
                {
                    new Tire(double.Parse(carEntry[5]), int.Parse(carEntry[6])),
                    new Tire(double.Parse(carEntry[7]), int.Parse(carEntry[8])),
                    new Tire(double.Parse(carEntry[9]), int.Parse(carEntry[10])),
                    new Tire(double.Parse(carEntry[11]), int.Parse(carEntry[12]))
                };
                RawData car = new RawData(model, engine, cargo, tire);
                cars.Add(car);
            }
            string type = Console.ReadLine();

            if (type.ToLower() == "fragile")
            {
                foreach (var car in cars.Where(t => t.Cargo.Type == type))
                {
                    bool pressureCheck = false;

                    for (int i = 0; i < car.Tires.Length; i++)
                    {
                        if (car.Tires[i].Pressure < 1)
                        {
                            pressureCheck = true;
                            continue;
                        }
                    }
                    if (pressureCheck)
                    {
                        Console.WriteLine(car.Model);
                    }
                }
            }
            else
            {
                foreach (var car in cars.Where(t => t.Cargo.Type == type))
                {
                    if (car.Engine.Power > 250)
                    {
                        Console.WriteLine(car.Model);
                    }
                }
            }
            foreach (var car in cars)
            {
                //    car.FuelQuantity -= (20 * car.FuelConsumption);
                //    if (car.Year >= 2017 && car.Engine.HorsePower > 330)
                //    {
                //        double pressureSum = 0;
                //        foreach (var item in car.Tire)
                //        {
                //            pressureSum += item.Pressure;
                //        }
                //        if (pressureSum > 9 && pressureSum < 10)
                //        {

                //            Console.WriteLine($"Make: {car.Make}");
                //            Console.WriteLine($"Model: {car.Model}");
                //            Console.WriteLine($"Year: {car.Year}");
                //            Console.WriteLine($"HorsePowers: {car.Engine.HorsePower}");
                //            Console.WriteLine($"FuelQuantity: {car.FuelQuantity}");

                //        }
            }
        }