Exemple #1
0
        static void Main(string[] args)
        {
            int lines = int.Parse(Console.ReadLine());

            Car[] cars = new Car[lines];

            for (int i = 0; i < lines; i++)
            {
                var    input         = Console.ReadLine().Split();
                string model         = input[0];
                double speed         = double.Parse(input[1]);
                double power         = double.Parse(input[2]);
                double weight        = double.Parse(input[3]);
                string type          = input[4];
                double tyre1Pressure = double.Parse(input[5]);
                int    tyre1Age      = int.Parse(input[6]);
                double tyre2Pressure = double.Parse(input[7]);
                int    tyre2Age      = int.Parse(input[8]);
                double tyre3Pressure = double.Parse(input[9]);
                int    tyre3Age      = int.Parse(input[10]);
                double tyre4Pressure = double.Parse(input[11]);
                int    tyre4Age      = int.Parse(input[12]);

                cars[i] = new Car(model,
                                  new Engine(speed, power),
                                  new Cargo(type, weight),
                                  new List <Tire>
                {
                    new Tire(tyre1Pressure, tyre1Age),
                    new Tire(tyre2Pressure, tyre2Age),
                    new Tire(tyre3Pressure, tyre3Age),
                    new Tire(tyre4Pressure, tyre4Age)
                });
            }

            string command = Console.ReadLine();

            if (command == "fragile")
            {
                var outputCars = cars.Where(c => c.cargo.Type == "fragile")
                                 .Where(c => c.tires.Any(t => t.tirePressure < 1))
                                 .Select(c => c.model).ToList();

                foreach (var c in outputCars)
                {
                    Console.WriteLine(c);
                }
            }
            else if (command == "flamable")
            {
                var outputCars = cars.Where(c => c.cargo.Type == "flamable")
                                 .Where(c => c.engine.Power > 250)
                                 .Select(c => c.model).ToList();

                foreach (var c in outputCars)
                {
                    Console.WriteLine(c);
                }
            }
        }
        public static void Main()
        {
            int numberOfCars = int.Parse(Console.ReadLine());

            Car[] cars = new Car[numberOfCars];

            for (int i = 0; i < numberOfCars; i++)
            {
                string[] inputs      = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                string   carModel    = inputs[0];
                int      engineSpeed = int.Parse(inputs[1]);
                int      enginePower = int.Parse(inputs[2]);
                int      cargoWeight = int.Parse(inputs[3]);
                string   cargoType   = inputs[4];

                // this is intentionally done crappy...
                Tire[] tires = new Tire[4];
                for (int j = 0; j < 8; j += 2)
                {
                    Tire newTire = new Tire()
                    {
                        Pressure = double.Parse(inputs[5 + j]),
                        Age      = int.Parse(inputs[6 + j]),
                    };

                    tires[j / 2] = newTire;
                }

                Cargo  currentCargo  = new Cargo(cargoWeight, cargoType);
                Engine currentEngine = new Engine(engineSpeed, enginePower);

                Car currentCar = new Car(carModel, currentCargo, currentEngine, tires);
                cars[i] = currentCar;
            }

            string command = Console.ReadLine();

            if (command.Equals("fragile"))
            {
                foreach (Car car in cars.Where(c => c.Cargo.CargoType.Equals("fragile")).Where(c => c.Tires.Any(t => t.Pressure < 1)))
                {
                    Console.WriteLine(car.Model);
                }
            }
            else if (command.Equals("flamable"))
            {
                foreach (Car car in cars.Where(c => c.Cargo.CargoType.Equals("flamable")).Where(c => c.Engine.Power > 250))
                {
                    Console.WriteLine(car.Model);
                }
            }
        }
Exemple #3
0
        static void Main(string[] args)
        {
            int count = int.Parse(Console.ReadLine());

            Car[] cars = new Car[count];

            for (int i = 0; i < count; i++)
            {
                string   input         = Console.ReadLine();
                string[] tokens        = input.Split(new char[0], StringSplitOptions.RemoveEmptyEntries);
                string   model         = tokens[0];
                int      speed         = int.Parse(tokens[1]);
                int      power         = int.Parse(tokens[2]);
                int      weight        = int.Parse(tokens[3]);
                string   type          = tokens[4];
                double   tyre1Pressure = double.Parse(tokens[5]);
                int      tyre1Age      = int.Parse(tokens[6]);
                double   tyre2Pressure = double.Parse(tokens[7]);
                int      tyre2Age      = int.Parse(tokens[8]);
                double   tyre3Pressure = double.Parse(tokens[9]);
                int      tyre3Age      = int.Parse(tokens[10]);
                double   tyre4Pressure = double.Parse(tokens[11]);
                int      tyre4Age      = int.Parse(tokens[12]);

                cars[i] = new Car(model, new Engine(speed, power), new Cargo(type, weight), new List <Tyre> {
                    new Tyre(tyre1Pressure, tyre1Age), new Tyre(tyre2Pressure, tyre2Age), new Tyre(tyre3Pressure, tyre3Age), new Tyre(tyre4Pressure, tyre4Age)
                });
            }

            string command = Console.ReadLine();

            if (command == "fragile")
            {
                cars.Where(c => c.cargo.type == "fragile").Where(c => c.tires.Any(t => t.pressure < 1)).Select(c => c.model).ToList().ForEach(m => Console.WriteLine(m));
            }
            else if (command == "flamable")
            {
                cars.Where(c => c.cargo.type == "flamable").Where(c => c.engine.power > 250).Select(c => c.model).ToList().ForEach(m => Console.WriteLine(m));
            }
        }
Exemple #4
0
        public static void Main()
        {
            int numberOfCars = int.Parse(Console.ReadLine());

            Car[] cars = new Car[numberOfCars];

            for (int i = 0; i < numberOfCars; i++)
            {
                string[] inputs      = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                string   carModel    = inputs[0];
                int      engineSpeed = int.Parse(inputs[1]);
                int      enginePower = int.Parse(inputs[2]);
                int      cargoWeight = int.Parse(inputs[3]);
                string   cargoType   = inputs[4];

                // this is intentionally done crappy...
                Tire[] tires = new Tire[4];
                for (int j = 0; j < 8; j += 2)
                {
                    Tire newTire = new Tire()
                    {
                        Pressure = double.Parse(inputs[5 + j]),
                        Age      = int.Parse(inputs[6 + j]),
                    };

                    tires[j / 2] = newTire;
                }

                Cargo  currentCargo  = new Cargo(cargoWeight, cargoType);
                Engine currentEngine = new Engine(engineSpeed, enginePower);

                Car currentCar = new Car(carModel, currentCargo, currentEngine, tires);
                cars[i] = currentCar;
            }

            //this too is intentionally done crappy...
            string consoleCommand = Console.ReadLine();

            if (consoleCommand == "fragile")
            {
                IEnumerable <Car> carsWithFragileCargoAndLowPressureTires = cars.Where(x =>
                {
                    return(x.Cargo.CargoType == "fragile" &&
                           // Also hard to understand task definition, inititally I thought the idea was to check if the sum of tire pressures is bellow 1
                           //  (((x.Tires.Select(t => t.Pressure).Sum()) / (double)x.Tires.Length) < 1);
                           (x.Tires.Where(p => p.Pressure < 1).Count() > 0));
                }
                                                                                       );

                foreach (Car car in carsWithFragileCargoAndLowPressureTires)
                {
                    Console.WriteLine(car.Model);
                }
            }
            else if (consoleCommand == "flammable")
            {
                IEnumerable <Car> carsWithFlammableCargoAndPowerfullEngine = cars.Where(x =>
                {
                    return(x.Cargo.CargoType == "flammable" &&
                           (x.Engine.Power > 250));
                }
                                                                                        );

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