private static List <Tire> GetTiresInfo(List <Tire> tires, string[] carInput)
        {
            for (int i = 5; i < carInput.Length; i += 2)
            {
                double pressure = double.Parse(carInput[i]);
                int    age      = int.Parse(carInput[i + 1]);

                Tire currentTire = new Tire(pressure, age);

                tires.Add(currentTire);
            }

            return(tires);
        }
예제 #2
0
파일: Car.cs 프로젝트: aalishov/SoftUni
        public Car(string model, int engineSpeed, int enginePower, int cargoWeight, string cargoType, double tire1Pressure, int tire1Age, double tire2Pressure, int tire2Age, double tire3Pressure, int tire3Age, double tire4Pressure, int tire4Age)
        {
            Engine engine = new Engine(engineSpeed, enginePower);
            Cargo  cargo  = new Cargo(cargoWeight, cargoType);
            Tire   tire1  = new Tire(tire1Pressure, tire1Age);
            Tire   tire2  = new Tire(tire2Pressure, tire2Age);
            Tire   tire3  = new Tire(tire3Pressure, tire3Age);
            Tire   tire4  = new Tire(tire4Pressure, tire4Age);

            this.Model  = model;
            this.Engine = engine;
            this.Cargo  = cargo;
            Tires[0]    = tire1;
            Tires[1]    = tire2;
            Tires[2]    = tire3;
            Tires[3]    = tire4;
        }
예제 #3
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[] tokens      = Console.ReadLine().Split(' ');
                string   model       = tokens[0];
                int      engineSpeed = int.Parse(tokens[1]);
                int      enginePower = int.Parse(tokens[2]);
                Engine   engine      = new Engine(engineSpeed, enginePower);
                int      cargoWeight = int.Parse(tokens[3]);
                string   cargoType   = tokens[4];
                Cargo    cargo       = new Cargo(cargoWeight, cargoType);
                Tire     tire1       = new Tire(double.Parse(tokens[5]), int.Parse(tokens[6]));
                Tire     tire2       = new Tire(double.Parse(tokens[7]), int.Parse(tokens[8]));
                Tire     tire3       = new Tire(double.Parse(tokens[9]), int.Parse(tokens[10]));
                Tire     tire4       = new Tire(double.Parse(tokens[11]), int.Parse(tokens[12]));
                Tire[]   tires       = new Tire[] { tire1, tire2, tire3, tire4 };
                Car      car         = new Car(model, engine, cargo, tires);
                cars.Add(car);
            }

            string type = Console.ReadLine();

            switch (type)
            {
            case "fragile":
                cars.FindAll(a => a.Cargo.Type == "fragile" && a.Tires.Any(t => t.Pressure < 1)).ForEach(a => Console.WriteLine(a.Model));
                break;

            case "flammable":
                cars.FindAll(a => a.Cargo.Type == "flammable" && a.Engine.Power > 250).ForEach(a => Console.WriteLine(a.Model));
                break;

            default:
                break;
            }
        }
예제 #4
0
        public static void Main(string[] args)
        {
            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);
                }
            }
        }
예제 #5
0
        static void Main(string[] args)
        {
            List <Car> allCars = new List <Car>();

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

            for (int i = 0; i < numberOfCars; i++)
            {
                string[] currentCarInfo = Console.ReadLine().Split();

                string model = currentCarInfo[0];

                double engineSpeed = double.Parse(currentCarInfo[1]);
                double enginePower = double.Parse(currentCarInfo[2]);

                Engine engine = new Engine(engineSpeed, enginePower);

                double cargoWeight = double.Parse(currentCarInfo[3]);
                string cargoType   = currentCarInfo[4];

                Cargo cargo = new Cargo(cargoWeight, cargoType);

                double tire1Pressure = double.Parse(currentCarInfo[5]);
                double tire1Age      = double.Parse(currentCarInfo[6]);

                double tire2Pressure = double.Parse(currentCarInfo[7]);
                double tire2Age      = double.Parse(currentCarInfo[8]);

                double tire3Pressure = double.Parse(currentCarInfo[9]);
                double tire3Age      = double.Parse(currentCarInfo[10]);

                double tire4Pressure = double.Parse(currentCarInfo[11]);
                double tire4Age      = double.Parse(currentCarInfo[12]);

                Tire[] tires = new Tire[4];

                Tire tire1 = new Tire(tire1Age, tire1Pressure);
                Tire tire2 = new Tire(tire2Age, tire2Pressure);
                Tire tire3 = new Tire(tire3Age, tire3Pressure);
                Tire tire4 = new Tire(tire4Age, tire4Pressure);

                tires[0] = tire1;
                tires[1] = tire2;
                tires[2] = tire3;
                tires[3] = tire4;

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

                allCars.Add(currentCar);
            }

            string cargoModel = Console.ReadLine();

            if (cargoModel == "fragile")
            {
                foreach (var currentCar in allCars)
                {
                    if (currentCar.Cargo.CargoType == cargoModel)
                    {
                        bool isLowPressure = GetTipePressure(currentCar.Tires);

                        if (isLowPressure)
                        {
                            Console.WriteLine(currentCar.Model);
                        }
                    }
                }
            }
            else if (cargoModel == "flamable")
            {
                foreach (var car in allCars)
                {
                    if (car.Engine.EnginePower > 250)
                    {
                        Console.WriteLine(car.Model);
                    }
                }
            }
        }
예제 #6
0
        static void Main(string[] args)
        {
            int        carsCount = int.Parse(Console.ReadLine());
            List <Car> cars      = new List <Car>();


            while (carsCount != 0)
            {
                string[] inputLine = Console.ReadLine().Split();

                //"{model} {engineSpeed} {enginePower} {cargoWeight} {cargoType} {tire1Pressure} {tire1Age} {tire2Pressure} {tire2Age} {tire3Pressure} {tire3Age} {tire4Pressure} {tire4Age}"

                string model       = inputLine[0];
                int    engineSpeed = int.Parse(inputLine[1]);
                int    enginePower = int.Parse(inputLine[2]);
                int    cargoWeight = int.Parse(inputLine[3]);
                string cargoType   = inputLine[4];
                double pressure1   = double.Parse(inputLine[5]);
                int    age1        = int.Parse(inputLine[6]);
                double pressure2   = double.Parse(inputLine[7]);
                int    age2        = int.Parse(inputLine[8]);
                double pressure3   = double.Parse(inputLine[9]);
                int    age3        = int.Parse(inputLine[10]);
                double pressure4   = double.Parse(inputLine[11]);
                int    age4        = int.Parse(inputLine[12]);

                Engine engine = new Engine(engineSpeed, enginePower);

                Cargo cargo = new Cargo(cargoWeight, cargoType);

                Tire[] tires = new Tire[4]
                {
                    new Tire(pressure1, age1),
                    new Tire(pressure2, age2),
                    new Tire(pressure3, age3),
                    new Tire(pressure4, age4),
                };


                Car car = new Car(model, engine, cargo, tires);
                cars.Add(car);
                carsCount--;
            }

            string command = Console.ReadLine();

            if (command == "fragile")
            {
                foreach (var car in cars)
                {
                    if (car.Cargo.CargoType == "fragile" && car.Tires.Any(t => t.Pressure < 1))
                    {
                        Console.WriteLine($"{car.Model}");
                    }
                }
            }
            else if (command == "flamable")
            {
                foreach (var car in cars.Where(c => c.Cargo.CargoType == "flamable")
                         .Where(c => c.Engine.EnginePower > 250))
                {
                    Console.WriteLine($"{car.Model}");
                }
            }
        }
예제 #7
0
        static void Main(string[] args)
        {
            int    n              = int.Parse(Console.ReadLine());
            string model          = string.Empty;
            double engineSpeed    = 0;
            double enginePower    = 0;
            double cargoWeight    = 0;
            string cargoType      = string.Empty;
            double tire1preassure = 0;
            double tire2preassure = 0;
            double tire3preassure = 0;
            double tire4preassure = 0;


            Engine     engine = new Engine(engineSpeed, enginePower);
            Cargo      cargo  = new Cargo(cargoWeight, cargoType);
            Tire       tire   = new Tire(tire1preassure, tire2preassure, tire3preassure, tire4preassure);
            Car        car    = new Car(model, engine, cargo, tire);
            List <Car> list   = new List <Car>();


            for (int i = 0; i < n; i++)
            {
                string[] input = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                model          = input[0];
                engineSpeed    = double.Parse(input[1]);
                enginePower    = double.Parse(input[2]);
                cargoWeight    = double.Parse(input[3]);
                cargoType      = input[4];
                tire1preassure = double.Parse(input[5]);
                tire2preassure = double.Parse(input[7]);
                tire3preassure = double.Parse(input[9]);
                tire4preassure = double.Parse(input[11]);
                engine         = new Engine(engineSpeed, enginePower);
                cargo          = new Cargo(cargoWeight, cargoType);
                tire           = new Tire(tire1preassure, tire2preassure, tire3preassure, tire4preassure);
                car            = new Car(model, engine,
                                         cargo, tire);
                list.Add(car);
            }
            string type = Console.ReadLine();


            if (type == "fragile")
            {
                List <Car> output = list
                                    .Where(x => x.Cargo.CargoType == "fragile" &&
                                           x.Tire.AverageTirePressure(x.Tire.Tire1preassure, x.Tire.Tire2preassure, x.Tire.Tire3preassure, x.Tire.Tire4preassure) < 1).ToList();

                Console.WriteLine(string.Join(Environment.NewLine, output));
            }
            else if (type == "flamable")
            {
                List <Car> output = list
                                    .Where(x => x.Cargo.CargoType == "flamable" &&
                                           x.Engine.EnginePower > 250).ToList();


                Console.WriteLine(string.Join(Environment.NewLine, output));
            }
        }
예제 #8
0
        static void Main(string[] args)
        {
            //"{model} {engineSpeed} {enginePower} {cargoWeight} {cargoType} {tire1Pressure} {tire1Age} {tire2Pressure} {tire2Age} {tire3Pressure} {tire3Age} {tire4Pressure} {tire4Age}"
            List <Car> cars = new List <Car>();

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

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

                string model         = carInfo[0];
                int    speed         = int.Parse(carInfo[1]);
                int    power         = int.Parse(carInfo[2]);
                int    cargoWeight   = int.Parse(carInfo[3]);
                string cargoType     = carInfo[4];
                double tirePressure1 = double.Parse(carInfo[5]);
                int    tireAge1      = int.Parse(carInfo[6]);
                double tirePressure2 = double.Parse(carInfo[7]);
                int    tireAge2      = int.Parse(carInfo[8]);
                double tirePressure3 = double.Parse(carInfo[9]);
                int    tireAge3      = int.Parse(carInfo[10]);
                double tirePressure4 = double.Parse(carInfo[11]);
                int    tireAge4      = int.Parse(carInfo[12]);

                Engine carEngine = new Engine(speed, power);
                Cargo  carCargo  = new Cargo(cargoWeight, cargoType);
                Tire[] carTires  = new Tire[4];
                Tire   tire1     = new Tire(tirePressure1, tireAge1);
                Tire   tire2     = new Tire(tirePressure2, tireAge2);
                Tire   tire3     = new Tire(tirePressure3, tireAge3);
                Tire   tire4     = new Tire(tirePressure4, tireAge4);
                carTires[0] = tire1;
                carTires[1] = tire2;
                carTires[2] = tire3;
                carTires[3] = tire4;

                Car car = new Car(model, carEngine, carCargo, carTires);
                cars.Add(car);
            }

            string command = Console.ReadLine();

            if (command == "fragile")
            {
                cars = cars.Where(c => c.CarCargo.CargoType == "fragile")
                       .Where(c => c.CarTires[0].TirePressure <= 1)
                       .ToList();
            }
            else if (command == "flamable")
            {
                cars = cars.Where(c => c.CarCargo.CargoType == "flamable")
                       .Where(c => c.CarEngine.EnginePower > 250)
                       .ToList();
            }

            foreach (var car in cars)
            {
                Console.WriteLine(car.Model);
            }
        }
예제 #9
0
파일: Program.cs 프로젝트: MartiHr/Softuni
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());

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

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

                string model = elements[0];

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

                Engine engine = new Engine
                {
                    EnginePower = enginePower,
                    EngineSpeed = engineSpeed
                };

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

                Cargo cargo = new Cargo
                {
                    CargoWeight = cargoWeight,
                    CargoType   = cargoType
                };

                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]);

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

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

                cars.Add(currentCar);
            }

            string command = Console.ReadLine();

            if (command == "fragile")
            {
                HashSet <Car> fragileCars = cars
                                            .Where(x => x.Cargo.CargoType == "fragile")
                                            .Where(x => TiresPressurexIfBelow1(x.Tires))
                                            .ToHashSet();

                foreach (var car in fragileCars)
                {
                    Console.WriteLine(car.Model);
                }
            }
            else
            {
                HashSet <Car> flamableCars = cars
                                             .Where(x => x.Cargo.CargoType == "flamable")
                                             .Where(x => x.Engine.EnginePower > 250)
                                             .ToHashSet();

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