Ejemplo n.º 1
0
        public static void Main(string[] args)
        {
            string input = Console.ReadLine();

            List <Tire[]> tires   = new List <Tire[]>();
            List <Engine> engines = new List <Engine>();
            List <Car>    cars    = new List <Car>();

            while (input.Equals("No more tires") == false)
            {
                string[] tiresStr = input
                                    .Split(' ',
                                           StringSplitOptions
                                           .RemoveEmptyEntries);

                Tire[] arrayTires = new Tire[4]
                {
                    new Tire(int.Parse(tiresStr[0]), double.Parse(tiresStr[1])),
                    new Tire(int.Parse(tiresStr[2]), double.Parse(tiresStr[3])),
                    new Tire(int.Parse(tiresStr[4]), double.Parse(tiresStr[5])),
                    new Tire(int.Parse(tiresStr[6]), double.Parse(tiresStr[7])),
                };

                tires.Add(arrayTires);

                input = Console.ReadLine();
            }

            input = Console.ReadLine();

            while (input.Equals("Engines done") == false)
            {
                string[] enginesStr = input
                                      .Split(' ',
                                             StringSplitOptions
                                             .RemoveEmptyEntries);

                int    horsePower    = int.Parse(enginesStr[0]);
                double cubicCapacity = double.Parse(enginesStr[1]);

                Engine engine = new Engine(horsePower, cubicCapacity);

                engines.Add(engine);

                input = Console.ReadLine();
            }

            input = Console.ReadLine();

            while (input.Equals("Show special") == false)
            {
                string[] carsStr = input
                                   .Split(' ',
                                          StringSplitOptions
                                          .RemoveEmptyEntries);

                string make            = carsStr[0];
                string model           = carsStr[1];
                int    year            = int.Parse(carsStr[2]);
                double fuelQuantity    = double.Parse(carsStr[3]);
                double fuelConsumption = double.Parse(carsStr[4]);
                int    engineIndex     = int.Parse(carsStr[5]);
                int    tiresIndex      = int.Parse(carsStr[6]);

                Car car = new Car(
                    make,
                    model,
                    year,
                    fuelQuantity,
                    fuelConsumption,
                    engines[engineIndex],
                    tires[tiresIndex]);

                bool isSpecialCar = IsSpecialCar(car);

                if (isSpecialCar)
                {
                    int distance = 20;

                    car.Drive(distance);
                    cars.Add(car);
                }

                input = Console.ReadLine();
            }

            foreach (Car car in cars)
            {
                Console.WriteLine(car.WhoAmI());
            }
        }
        static void Main(string[] args)
        {
            var tires = new List <Tire[]>();

            string command = Console.ReadLine();

            while (command != "No more tires")
            {
                string[] commandSplitted = command.Split();

                Tire tire1 = new Tire(int.Parse(commandSplitted[0]), double.Parse(commandSplitted[1]));
                Tire tire2 = new Tire(int.Parse(commandSplitted[2]), double.Parse(commandSplitted[3]));
                Tire tire3 = new Tire(int.Parse(commandSplitted[4]), double.Parse(commandSplitted[5]));
                Tire tire4 = new Tire(int.Parse(commandSplitted[6]), double.Parse(commandSplitted[7]));

                tires.Add(new Tire[] { tire1, tire2, tire3, tire4 });

                command = Console.ReadLine();
            }

            List <Engine> engines = new List <Engine>();

            string command2 = Console.ReadLine();

            while (command2 != "Engines done")
            {
                int    horsePower    = int.Parse(command2.Split()[0]);
                double cubicCapacity = double.Parse(command2.Split()[1]);

                Engine engine = new Engine(horsePower, cubicCapacity);
                engines.Add(engine);

                command2 = Console.ReadLine();
            }

            var    newCars  = new List <Car>();
            string command3 = Console.ReadLine();

            while (command3 != "Show special")
            {
                string[] commandSplitted = command3.Split();
                string   make            = commandSplitted[0];
                string   model           = commandSplitted[1];
                int      year            = int.Parse(commandSplitted[2]);
                double   fuelQuantity    = double.Parse(commandSplitted[3]);
                double   fuelConsumption = double.Parse(commandSplitted[4]);
                int      engineIndex     = int.Parse(commandSplitted[5]);
                int      tiresIndex      = int.Parse(commandSplitted[6]);

                Engine currentEngine = engines[engineIndex];
                Tire[] currentTires  = tires[tiresIndex];

                Car car = new Car(make, model, year, fuelQuantity, fuelConsumption, currentEngine, currentTires);

                newCars.Add(car);

                command3 = Console.ReadLine();
            }

            for (int i = 0; i < newCars.Count; i++)
            {
                Car    current             = newCars[i];
                double currentTirePressure = current.Tires.Sum(x => x.Pressure);
                bool   isDriven            = current.Year >= 2017 && current.Engine.HorsePower > 330 && currentTirePressure >= 9 && currentTirePressure <= 10;

                if (isDriven)
                {
                    current.Drive(20);
                    Console.WriteLine($"Make: {current.Make}");
                    Console.WriteLine($"Model: {current.Model}");
                    Console.WriteLine($"Year: {current.Year}");
                    Console.WriteLine($"HorsePowers: {current.Engine.HorsePower}");
                    Console.WriteLine($"FuelQuantity: {current.FuelQuantity}");
                }
            }
        }
        public static void Main(string[] args)
        {
            string        input = string.Empty;
            List <Tire[]> tires = new List <Tire[]>();

            while ((input = Console.ReadLine()) != "No more tires")
            {
                string[] tireInfo = input.Split(" ", StringSplitOptions.RemoveEmptyEntries);

                Tire[] currentSet = new Tire[4]
                {
                    new Tire(int.Parse(tireInfo[0]), double.Parse(tireInfo[1])),
                    new Tire(int.Parse(tireInfo[2]), double.Parse(tireInfo[3])),
                    new Tire(int.Parse(tireInfo[4]), double.Parse(tireInfo[5])),
                    new Tire(int.Parse(tireInfo[6]), double.Parse(tireInfo[7])),
                };

                tires.Add(currentSet);
            }

            string        secondInput = string.Empty;
            List <Engine> engines     = new List <Engine>();

            while ((secondInput = Console.ReadLine()) != "Engines done")
            {
                string[] engineInfo = secondInput.Split(" ", StringSplitOptions.RemoveEmptyEntries);

                int    horsePower    = int.Parse(engineInfo[0]);
                double cubicCapacity = double.Parse(engineInfo[1]);

                Engine engine = new Engine(horsePower, cubicCapacity);
                engines.Add(engine);
            }

            string     thirdInput = string.Empty;
            List <Car> cars       = new List <Car>();

            while ((thirdInput = Console.ReadLine()) != "Show special")
            {
                string[] carsInfo = thirdInput.Split(" ", StringSplitOptions.RemoveEmptyEntries);

                string carMake            = carsInfo[0];
                string carModel           = carsInfo[1];
                int    carYear            = int.Parse(carsInfo[2]);
                double carFuelQuantity    = double.Parse(carsInfo[3]);
                double carFuelConsumption = double.Parse(carsInfo[4]);
                int    engineIndex        = int.Parse(carsInfo[5]);
                int    tiresIndex         = int.Parse(carsInfo[6]);

                Car car = new Car(carMake, carModel, carYear, carFuelQuantity, carFuelConsumption, engines[engineIndex], tires[tiresIndex]);
                cars.Add(car);
            }

            var specialCars = cars
                              .Where(x => x.Year >= 2017 &&
                                     x.Engine.HorsePower > 330 &&
                                     x.Tire.Select(y => y.Pressure).Sum() >= 9 &&
                                     x.Tire.Select(y => y.Pressure).Sum() <= 10)
                              .ToList();

            foreach (var car in specialCars)
            {
                car.Drive(20);
                Console.WriteLine(car);
            }
        }
Ejemplo n.º 4
0
        public static void Main()
        {
            List <Tire[]> tires = new List <Tire[]>();

            while (true)
            {
                string line = Console.ReadLine();

                if (line == "No more tires")
                {
                    break;
                }

                double[] informationForTires = line.Split()
                                               .Select(double.Parse)
                                               .ToArray();

                Tire[] currentTires = new Tire[4]
                {
                    new Tire((int)informationForTires[0], informationForTires[1]),
                    new Tire((int)informationForTires[2], informationForTires[3]),
                    new Tire((int)informationForTires[4], informationForTires[5]),
                    new Tire((int)informationForTires[6], informationForTires[7])
                };

                tires.Add(currentTires);
            }

            List <Engine> engines = new List <Engine>();

            while (true)
            {
                string line = Console.ReadLine();

                if (line == "Engines done")
                {
                    break;
                }

                string[] engineData    = line.Split();
                int      horsePower    = int.Parse(engineData[0]);
                double   cubicCapacity = double.Parse(engineData[1]);

                Engine engine = new Engine(horsePower, cubicCapacity);
                engines.Add(engine);
            }

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

            while (true)
            {
                string line = Console.ReadLine();

                if (line == "Show special")
                {
                    break;
                }

                string[] carData         = line.Split();
                string   make            = carData[0];
                string   model           = carData[1];
                int      year            = int.Parse(carData[2]);
                double   fuelQuantity    = double.Parse(carData[3]);
                double   fuelConsumption = double.Parse(carData[4]);
                int      engineIndex     = int.Parse(carData[5]);
                int      tiresIndex      = int.Parse(carData[6]);

                Engine engine       = engines[engineIndex];
                Tire[] currentTires = tires[tiresIndex];
                Car    car          = new Car(make, model, year, fuelQuantity, fuelConsumption, engine, currentTires);
                cars.Add(car);
            }

            var specialCars = cars.Where(x => x.Year >= 2017 &&
                                         x.Engine.HorsePower > 330 &&
                                         x.Tires.Select(c => c.Pressure).Sum() >= 9 &&
                                         x.Tires.Select(c => c.Pressure).Sum() <= 10)
                              .ToList();

            foreach (var car in specialCars)
            {
                car.Drive(20);
                Console.WriteLine(car.ToString());
            }
        }
Ejemplo n.º 5
0
        public static void Main(string[] args)
        {
            string receivedTires = Console.ReadLine();

            List <Tire[]> allTires = new List <Tire[]>();

            while (receivedTires != "No more tires")
            {
                string[] tireInfo = receivedTires
                                    .Split(" ", StringSplitOptions.RemoveEmptyEntries);

                Tire[] tires = new Tire[4]
                {
                    new Tire(int.Parse(tireInfo[0]), double.Parse(tireInfo[1])),
                    new Tire(int.Parse(tireInfo[2]), double.Parse(tireInfo[3])),
                    new Tire(int.Parse(tireInfo[4]), double.Parse(tireInfo[5])),
                    new Tire(int.Parse(tireInfo[6]), double.Parse(tireInfo[7]))
                };

                allTires.Add(tires);

                receivedTires = Console.ReadLine();
            }

            string enginesDone = Console.ReadLine();

            List <Engine> allEngines = new List <Engine>();

            while (enginesDone != "Engines done")
            {
                string[] engineInfo = enginesDone
                                      .Split(" ", StringSplitOptions.RemoveEmptyEntries);

                int    horsePower    = int.Parse(engineInfo[0]);
                double cubicCapacity = double.Parse(engineInfo[1]);

                Engine engine = new Engine(horsePower, cubicCapacity);

                allEngines.Add(engine);

                enginesDone = Console.ReadLine();
            }

            string receivedCar = Console.ReadLine();

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

            while (receivedCar != "Show special")
            {
                string[] carInfo = receivedCar
                                   .Split(" ", StringSplitOptions.RemoveEmptyEntries);

                string make            = carInfo[0];
                string model           = carInfo[1];
                int    year            = int.Parse(carInfo[2]);
                double fuelQuantity    = double.Parse(carInfo[3]);
                double fuelConsumption = double.Parse(carInfo[4]);
                int    engineIndex     = int.Parse(carInfo[5]);
                int    tiresIndex      = int.Parse(carInfo[6]);

                Engine curEngine = allEngines[engineIndex];
                Tire[] curTires  = allTires[tiresIndex];

                Car car = new Car(make, model, year, fuelQuantity, fuelConsumption, curEngine, curTires);

                allCars.Add(car);

                receivedCar = Console.ReadLine();
            }

            List <Car> specialCars = allCars
                                     .Where(car => car.Year >= 2017)
                                     .Where(car => car.Engine.HorsePower >= 330)
                                     .Where(car => car.SumTiresPressure(car))
                                     .ToList();

            foreach (var car in specialCars)
            {
                car.Drive(20);
                Console.WriteLine(car.WhoAmI());
            }
        }
Ejemplo n.º 6
0
        public static void Main()
        {
            List <Tire[]> tiresSets = new List <Tire[]>();

            while (true)
            {
                string tiresInfo = Console.ReadLine();
                if (tiresInfo == "No more tires")
                {
                    break;
                }

                string[] tokens = tiresInfo.Split(' ', StringSplitOptions.RemoveEmptyEntries);
                Tire[]   tires  = new Tire[4];
                for (int i = 0, setCounter = 0; i < tokens.Length; i += 2, setCounter++)
                {
                    int    year     = int.Parse(tokens[i]);
                    double pressure = double.Parse(tokens[i + 1]);
                    tires[setCounter] = new Tire(year, pressure);
                }

                tiresSets.Add(tires);
            }

            List <Engine> engines = new List <Engine>();

            while (true)
            {
                string engineInfo = Console.ReadLine();
                if (engineInfo == "Engines done")
                {
                    break;
                }

                string[] tokens        = engineInfo.Split(' ', StringSplitOptions.RemoveEmptyEntries);
                int      horsePower    = int.Parse(tokens[0]);
                double   cubicCapacity = double.Parse(tokens[1]);
                engines.Add(new Engine(horsePower, cubicCapacity));
            }

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

            while (true)
            {
                string carInfo = Console.ReadLine();
                if (carInfo == "Show special")
                {
                    break;
                }

                string[] tokens          = carInfo.Split(' ', StringSplitOptions.RemoveEmptyEntries);
                string   make            = tokens[0];
                string   model           = tokens[1];
                int      year            = int.Parse(tokens[2]);
                double   fuelQuantity    = double.Parse(tokens[3]);
                double   fuelConsumption = double.Parse(tokens[4]);
                int      engineIndex     = int.Parse(tokens[5]);
                int      tiresIndex      = int.Parse(tokens[6]);

                var car = new Car(make, model, year, fuelQuantity, fuelConsumption, engines[engineIndex], tiresSets[tiresIndex]);
                cars.Add(car);
            }

            var filtered = cars.Where(c => c.Year >= 2017)
                           .Where(c => c.Engine.HorsePower >= 330)
                           .Where(c => c.Tires.Sum(t => t.Pressure) >= 9 && c.Tires.Sum(t => t.Pressure) <= 10);

            if (filtered.Count() > 0)
            {
                foreach (var car in filtered)
                {
                    car.Drive(20);
                    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}");
                }
            }
        }
Ejemplo n.º 7
0
        private static void Main()
        {
            List <Tire[]> allTires   = new List <Tire[]>();
            List <Engine> allEngines = new List <Engine>();
            List <Car>    allCars    = new List <Car>();

            string input = Console.ReadLine();

            while (input != "No more tires")
            {
                string[] tires = input.Split(' ');

                Tire[] fourTires = new Tire[4]
                {
                    new Tire(int.Parse(tires[0]), double.Parse(tires[1])),
                    new Tire(int.Parse(tires[2]), double.Parse(tires[3])),
                    new Tire(int.Parse(tires[4]), double.Parse(tires[5])),
                    new Tire(int.Parse(tires[6]), double.Parse(tires[7])),
                };

                allTires.Add(fourTires);

                input = Console.ReadLine();
            }

            input = Console.ReadLine();

            while (input != "Engines done")
            {
                string[] engines = input.Split(' ');

                for (int i = 0; i < engines.Length - 1; i++)
                {
                    int    engineHorsePower    = int.Parse(engines[i]);
                    double engineCubicCapacity = double.Parse(engines[i + 1]);
                    Engine engine = new Engine(engineHorsePower, engineCubicCapacity);

                    allEngines.Add(engine);
                }

                input = Console.ReadLine();
            }

            input = Console.ReadLine();

            while (input != "Show special")
            {
                string[] carInfo         = input.Split();
                string   make            = carInfo[0];
                string   model           = carInfo[1];
                int      year            = int.Parse(carInfo[2]);
                double   fuelQuantity    = double.Parse(carInfo[3]);
                double   fuelConsumption = double.Parse(carInfo[4]);
                int      engineIndex     = int.Parse(carInfo[5]);
                int      tireIndex       = int.Parse(carInfo[6]);

                Car car = new Car(
                    make, model, year, fuelQuantity, fuelConsumption, allEngines[engineIndex], allTires[tireIndex]);

                var isSpecialCar = IsSpecialCar(car);

                if (isSpecialCar)
                {
                    car.Drive(distance);
                }

                if (car.FuelQuantity != fuelQuantity)
                {
                    allCars.Add(car);
                }

                input = Console.ReadLine();
            }

            foreach (var specialCar in allCars)
            {
                Console.WriteLine($"Make: {specialCar.Make}");
                Console.WriteLine($"Model: {specialCar.Model}");
                Console.WriteLine($"Year: {specialCar.Year}");
                Console.WriteLine($"HorsePowers: {specialCar.Engine.HoursePower}");
                Console.WriteLine($"FuelQuantity: {specialCar.FuelQuantity}");
            }
        }
Ejemplo n.º 8
0
        public static void Main()
        {
            List <Tire[]> tires       = new List <Tire[]>();
            List <Engine> engines     = new List <Engine>();
            List <Car>    specialCars = new List <Car>();

            while (true)
            {
                var input = Console.ReadLine().Split().ToList();

                if (input[0] == "No" && input[1] == "more" && input[2] == "tires")
                {
                    break;
                }

                int    tyreYear1     = int.Parse(input[0]);
                double tyrePressure1 = double.Parse(input[1]);
                int    tyreYear2     = int.Parse(input[2]);
                double tyrePressure2 = double.Parse(input[3]);
                int    tyreYear3     = int.Parse(input[4]);
                double tyrePressure3 = double.Parse(input[5]);
                int    tyreYear4     = int.Parse(input[6]);
                double tyrePressure4 = double.Parse(input[7]);

                tires.Add(new Tire[4] {
                    new Tire(tyreYear1, tyrePressure1), new Tire(tyreYear2, tyrePressure2), new Tire(tyreYear3, tyrePressure3), new Tire(tyreYear4, tyrePressure4)
                });
            }

            while (true)
            {
                var input = Console.ReadLine().Split().ToList();

                if (input[0] == "Engines" && input[1] == "done")
                {
                    break;
                }

                int    horsepower    = int.Parse(input[0]);
                double cubicCapacity = double.Parse(input[1]);

                engines.Add(new Engine(horsepower, cubicCapacity));
            }

            while (true)
            {
                var input = Console.ReadLine().Split().ToList();

                if (input[0] == "Show" && input[1] == "special")
                {
                    break;
                }

                string make            = input[0];
                string model           = input[1];
                int    year            = int.Parse(input[2]);
                double fuelQuantity    = double.Parse(input[3]);
                double fuelConsumption = double.Parse(input[4]);
                int    engineIndex     = int.Parse(input[5]);
                int    tiresIndex      = int.Parse(input[6]);

                Car car = new Car(make, model, year, fuelQuantity, fuelConsumption, engines[engineIndex], tires[tiresIndex]);

                if (car.Year >= 2017 && car.Engine.HorsePower > 330 && car.Tires.Sum(x => x.Pressure) > 9 && car.Tires.Sum(x => x.Pressure) < 10)
                {
                    car.Drive(20);
                    specialCars.Add(car);
                }
            }

            foreach (Car specialCar in specialCars)
            {
                Console.WriteLine($"Make: {specialCar.Make}");
                Console.WriteLine($"Model: {specialCar.Model}");
                Console.WriteLine($"Year: {specialCar.Year}");
                Console.WriteLine($"HorsePowers: {specialCar.Engine.HorsePower}");
                Console.WriteLine($"FuelQuantity: {specialCar.FuelQuantity}");
            }
        }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            List <List <Tire> > tireSets = new List <List <Tire> >();
            string tireLine = Console.ReadLine();
            int    setIndex = 0;

            while (tireLine != "No more tires")
            {
                tireSets.Add(new List <Tire>());
                tireSets[setIndex] = new List <Tire>();
                string[] tireArgs = tireLine.Split();
                for (int i = 0; i < tireArgs.Length - 1; i += 2)
                {
                    Tire tire = new Tire()
                    {
                        Year     = int.Parse(tireArgs[i]),
                        Pressure = double.Parse(tireArgs[i + 1])
                    };
                    tireSets[setIndex].Add(tire);
                }
                setIndex++;
                tireLine = Console.ReadLine();
            }

            string engineLine = Console.ReadLine();
            List <List <Engine> > engineList = new List <List <Engine> >();
            int enginePos = 0;

            while (engineLine != "Engines done")
            {
                engineList.Add(new List <Engine>());
                engineList[enginePos] = new List <Engine>();
                string[] engineArgs = engineLine.Split();
                for (int i = 0; i < engineArgs.Length - 1; i++)
                {
                    int    horsePower    = int.Parse(engineArgs[i]);
                    double cubicCapacity = double.Parse(engineArgs[i + 1]);
                    Engine engine        = new Engine(horsePower, cubicCapacity);
                    engineList[enginePos++].Add(engine);
                }
                engineLine = Console.ReadLine();
            }

            string     carLine = Console.ReadLine();
            List <Car> cars    = new List <Car>();

            while (carLine != "Show special")
            {
                string[] carArgs = carLine.Split();
                for (int i = 0; i < carArgs.Length / carArgs.Length; i++)
                {
                    string make            = carArgs[i];
                    string model           = carArgs[i + 1];
                    int    year            = int.Parse(carArgs[i + 2]);
                    double fuelQuantity    = double.Parse(carArgs[i + 3]);
                    double fuelConsumption = double.Parse(carArgs[i + 4]);
                    int    engineIndex     = int.Parse(carArgs[i + 5]);
                    int    tiresIndex      = int.Parse(carArgs[i + 6]);

                    Car car = new Car(make, model, year, fuelQuantity, fuelConsumption)
                    {
                        Tires  = tireSets[tiresIndex],
                        Engine = engineList[engineIndex][0]
                    };
                    cars.Add(car);
                }
                carLine = Console.ReadLine();
            }
            Func <Car, bool> filter = c => c.Year >= 2017 &&
                                      c.Engine.HorsePower > 330 &&
                                      c.Tires.Sum(t => t.Pressure) >= 9 &&
                                      c.Tires.Sum(t => t.Pressure) <= 10;
            List <Car> specialCars = new List <Car>();

            foreach (Car car in cars
                     .Where(filter))
            {
                car.Drive(20);
                specialCars.Add(car);
            }
            Console.WriteLine(string.Join("", specialCars));
        }
Ejemplo n.º 10
0
        public static void Main(string[] args)
        {
            //Car car = new Car();
            //car.Make = "VW";
            //car.Model = "MK3";
            //car.Year = 1992;
            //car.FuelQuantity = 200;
            //car.FuelConsumption = 200;
            //car.Drive(2000);
            //Console.WriteLine(car.WhoAmI());
            //Console.WriteLine($"Make: {car.Make}\nModel: {car.Model}\nYear: {car.Year}");

            //string make = Console.ReadLine();
            //string model = Console.ReadLine();
            //int year = int.Parse(Console.ReadLine());
            //double fuelQuantity = double.Parse(Console.ReadLine());
            //double fuelConsumption = double.Parse(Console.ReadLine());

            //Car firstCar = new Car();
            //Car secondCar = new Car(make, model, year);
            //Car thirdCar = new Car(make, model, year, fuelQuantity, fuelConsumption);


            //var tires = new Tire[4]
            //{
            //    new Tire(1, 2.5),
            //    new Tire(1, 2.1),
            //    new Tire(2, 0.5),
            //    new Tire(2, 2.3)
            //};
            //var engine = new Engine(560, 6300);
            //var car = new Car("Lamborgini", "Strela", 2010, 250, 9, engine, tires);



            string command = Console.ReadLine();
            var    tires   = new List <Tire[]>();

            while (command != "No more tires")
            {
                var tire  = command.Split(' ').ToArray();
                var tire1 = new Tire(int.Parse(tire[0]), double.Parse(tire[1]));
                var tire2 = new Tire(int.Parse(tire[2]), double.Parse(tire[3]));
                var tire3 = new Tire(int.Parse(tire[4]), double.Parse(tire[5]));
                var tire4 = new Tire(int.Parse(tire[6]), double.Parse(tire[7]));

                tires.Add(new Tire[] { tire1, tire2, tire3, tire4 });
                command = Console.ReadLine();
            }

            command = Console.ReadLine();
            var engines = new List <Engine>();

            while (command != "Engines done")
            {
                var    eng    = command.Split().ToArray();
                Engine engine = new Engine(int.Parse(eng[0]), double.Parse(eng[1]));
                engines.Add(engine);
                command = Console.ReadLine();
            }

            command = Console.ReadLine();
            var cars = new List <Car>();

            while (command != "Show special")
            {
                var carSplit = command.Split().ToArray();

                var    make            = carSplit[0];
                var    model           = carSplit[1];
                var    year            = int.Parse(carSplit[2]);
                var    fuelQuantity    = double.Parse(carSplit[3]);
                var    fuelConsumption = double.Parse(carSplit[4]);
                Engine engineIndex     = engines[int.Parse(carSplit[5])];
                Tire[] tiresIndex      = tires[int.Parse(carSplit[6])];

                var car = new Car(make, model, year, fuelQuantity, fuelConsumption, engineIndex, tiresIndex);
                cars.Add(car);

                command = Console.ReadLine();
            }

            cars = cars
                   .Where(x => x.Year >= 2017 &&
                          x.Engine.HorsePower > 330 &&
                          x.Tires.Sum(y => y.Pressure) >= 9 &&
                          x.Tires.Sum(y => y.Pressure) <= 10)
                   .ToList();

            foreach (var car in cars)
            {
                car.Drive(20);
                Console.WriteLine(car.WhoAmISpecialCar());
            }
        }
Ejemplo n.º 11
0
        static void Main(string[] args)
        {
            List <Tire[]> tires = new List <Tire[]>();

            string command = string.Empty;

            while ((command = Console.ReadLine()) != "No more tires")
            {
                string[] data = command
                                .Split();

                List <Tire> tiresList = new List <Tire>();

                for (int i = 0; i < data.Length; i += 2)
                {
                    int    year      = int.Parse(data[i]);
                    double pressuere = double.Parse(data[i + 1]);

                    Tire tire = new Tire(year, pressuere);
                    tiresList.Add(tire);
                }

                tires.Add(tiresList.ToArray());
            }

            List <Engine> engines = new List <Engine>();

            while ((command = Console.ReadLine()) != "Engines done")
            {
                string[] data = command
                                .Split();

                int    horsePower    = int.Parse(data[0]);
                double cubicCapacity = double.Parse(data[1]);

                Engine engine = new Engine(horsePower, cubicCapacity);

                engines.Add(engine);
            }
            List <Car> carList = new List <Car>();

            while ((command = Console.ReadLine()) != "Show special")
            {
                string[] data = command
                                .Split();

                string make            = data[0];
                string model           = data[1];
                int    year            = int.Parse(data[2]);
                double fuelQuantity    = double.Parse(data[3]);
                double fuelConsumption = double.Parse(data[4]);
                int    engineIndex     = int.Parse(data[5]);
                int    tiresIndex      = int.Parse(data[6]);

                Car car = new Car(make, model, year, fuelQuantity,
                                  fuelConsumption, engines[engineIndex], tires[tiresIndex]);

                carList.Add(car);
            }

            carList = carList.Where(x => x.Year > 2016 &&
                                    x.Engine.HorsePower > 330 && x.Tires.Sum(x => x.Pressure) >= 9 &&
                                    x.Tires.Sum(x => x.Pressure) <= 10).ToList();

            foreach (var car in carList)
            {
                car.Drive(20);
                Console.WriteLine(car.WhoAmI());
            }
        }
Ejemplo n.º 12
0
        static void Main(string[] args)
        {
            var tires   = new List <Tire[]>();
            var engines = new List <Engine>();
            var cars    = new List <Car>();

            while (true)
            {
                string command = Console.ReadLine();

                if (command == "No more tires")
                {
                    break;
                }

                var    commandArgs = command.Split();
                int    counter     = 0;
                Tire[] tiresSet    = new Tire[4];

                for (int i = 0; i < commandArgs.Length - 1; i += 2)
                {
                    int    year     = int.Parse(commandArgs[i]);
                    double pressure = double.Parse(commandArgs[i + 1]);

                    var currentTire = new Tire(year, pressure);

                    tiresSet[counter] = currentTire;
                    counter++;
                }

                tires.Add(tiresSet);
            }

            while (true)
            {
                var input = Console.ReadLine();

                if (input == "Engines done")
                {
                    break;
                }

                int    horsePower    = int.Parse(input.Split()[0]);
                double cubicCapacity = double.Parse(input.Split()[1]);
                var    currentEngine = new Engine(horsePower, cubicCapacity);

                engines.Add(currentEngine);
            }

            while (true)
            {
                var input = Console.ReadLine();

                if (input == "Show special")
                {
                    break;
                }

                var tokens = input.Split();

                string make            = tokens[0];
                string model           = tokens[1];
                int    year            = int.Parse(tokens[2]);
                int    fuelQuantity    = int.Parse(tokens[3]);
                double fuelConsumption = double.Parse(tokens[4]);
                int    engineIndex     = int.Parse(tokens[5]);
                int    tiresIndex      = int.Parse(tokens[6]);

                var currentCar = new Car(make, model, year, fuelQuantity, fuelConsumption, engines[engineIndex], tires[tiresIndex]);

                cars.Add(currentCar);
            }

            foreach (var car in cars)
            {
                double pressureSum = 0.0;

                for (int i = 0; i < car.Tires.Length; i++)
                {
                    pressureSum += car.Tires[i].Pressure;
                }

                bool enoughFuel = Car.Drive(20, car);

                if (enoughFuel &&
                    car.Year >= 2017 &&
                    car.Engine.HorsePower > 330 &&
                    pressureSum > 9 && pressureSum < 10)
                {
                    car.FuelQuantity -= (20 * car.FuelConsumption / 100);

                    Console.WriteLine(Car.WhoAmI(car));
                }
            }
        }
Ejemplo n.º 13
0
        static void Main(string[] args)
        {
            List <Tire[]> tires = new List <Tire[]>();

            while (true)
            {
                string command = Console.ReadLine();
                if (command == "No more tires")
                {
                    break;
                }

                string[]    tiresData = command.Split();
                List <Tire> tiresList = new List <Tire>();

                for (int i = 0; i < tiresData.Length; i += 2)
                {
                    int    year     = int.Parse(tiresData[i]);
                    double pressure = double.Parse(tiresData[i + 1]);
                    Tire   tire     = new Tire(year, pressure);
                    tiresList.Add(tire);
                }

                tires.Add(tiresList.ToArray());
            }

            List <Engine> engines = new List <Engine>();

            while (true)
            {
                string command = Console.ReadLine();
                if (command == "Engines done")
                {
                    break;
                }

                string[] enginesData   = command.Split();
                int      horsePower    = int.Parse(enginesData[0]);
                double   cubicCapacity = double.Parse(enginesData[1]);
                Engine   engine        = new Engine(horsePower, cubicCapacity);
                engines.Add(engine);
            }

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

            while (true)
            {
                string command = Console.ReadLine();
                if (command == "Show special")
                {
                    break;
                }

                string[] carData         = command.Split();
                string   make            = carData[0];
                string   model           = carData[1];
                int      year            = int.Parse(carData[2]);
                double   fuelQuantity    = double.Parse(carData[3]);
                double   fuelConsumption = double.Parse(carData[4]);
                int      engineIndex     = int.Parse(carData[5]);
                int      tiresIndex      = int.Parse(carData[6]);

                Car car = new Car(make, model, year, fuelQuantity, fuelConsumption, engines[engineIndex], tires[tiresIndex]);
                cars.Add(car);
            }

            Func <Car, bool> filter = c => c.Year >= 2017 &&
                                      c.Engine.HorsePower > 330 &&
                                      c.Tires.Sum(t => t.Pressure) >= 9 &&
                                      c.Tires.Sum(t => t.Pressure) <= 10;

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

            foreach (Car car in cars.Where(filter))
            {
                car.Drive(20);
                specialCars.Add(car);
            }

            Console.WriteLine(String.Join("", specialCars));
        }
Ejemplo n.º 14
0
        static void Main(string[] args)
        {
            double        distance    = 20.0;
            List <Tire[]> tiresList   = new List <Tire[]>();
            List <Engine> enginesList = new List <Engine>();
            List <Car>    carsList    = new List <Car>();

            string input = Console.ReadLine();

            while (input != "No more tires")
            {
                string[] tires = input
                                 .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                Tire[] allFourTires = new Tire[4]
                {
                    new Tire(int.Parse(tires[0]), double.Parse(tires[1])),
                    new Tire(int.Parse(tires[2]), double.Parse(tires[3])),
                    new Tire(int.Parse(tires[4]), double.Parse(tires[5])),
                    new Tire(int.Parse(tires[6]), double.Parse(tires[7])),
                };

                tiresList.Add(allFourTires);

                input = Console.ReadLine();
            }

            input = Console.ReadLine();

            while (input != "Engines done")
            {
                string[] engines = input
                                   .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                int    horsepower    = int.Parse(engines[0]);
                double cubicCapacity = double.Parse(engines[1]);

                Engine engine = new Engine(horsepower, cubicCapacity);

                enginesList.Add(engine);

                input = Console.ReadLine();
            }

            input = Console.ReadLine();

            while (input != "Show special")
            {
                string[] cars = input
                                .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                string make            = cars[0];
                string model           = cars[1];
                int    year            = int.Parse(cars[2]);
                double fuelQantity     = double.Parse(cars[3]);
                double fuelConsumption = double.Parse(cars[4]);
                int    engineIndex     = int.Parse(cars[5]);
                int    tiresIndex      = int.Parse(cars[6]);

                Car car = new Car(make, model, year, fuelQantity, fuelConsumption, enginesList[engineIndex], tiresList[tiresIndex]);

                bool tirePressureBetween9and10 = car.Tires.Select(x => x.Pressure).Sum() >= 9 &&
                                                 car.Tires.Select(x => x.Pressure).Sum() <= 10;

                bool isCarSpecial = car.Year >= 2017 && car.Engine.HorsePower > 300 && tirePressureBetween9and10;

                if (isCarSpecial)
                {
                    car.Drive(distance);
                    carsList.Add(car);
                }

                input = Console.ReadLine();
            }

            foreach (var car in carsList)
            {
                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}");
            }
        }
Ejemplo n.º 15
0
        static void Main(string[] args)
        {
            List <Tire[]> tires   = new List <Tire[]>();
            List <Engine> engines = new List <Engine>();
            List <Car>    cars    = new List <Car>();

            while (true)
            {
                string command = Console.ReadLine();

                if (command == "No more tires")
                {
                    break;
                }

                string[]    tiresParams  = command.Split(" ", StringSplitOptions.RemoveEmptyEntries);
                List <Tire> currentTires = new List <Tire>();

                for (int i = 0; i < tiresParams.Length - 1; i += 2)
                {
                    int    tireYear     = int.Parse(tiresParams[i]);
                    double tirePressure = double.Parse(tiresParams[i + 1]);

                    Tire tire = new Tire(tireYear, tirePressure);
                    currentTires.Add(tire);
                }

                tires.Add(currentTires.ToArray());
            }

            while (true)
            {
                string command = Console.ReadLine();

                if (command == "Engines done")
                {
                    break;
                }

                string[] engineInfo = command.Split(" ", StringSplitOptions.RemoveEmptyEntries);

                int    horsePower    = int.Parse(engineInfo[0]);
                double cubicCapacity = double.Parse(engineInfo[1]);

                Engine engine = new Engine(horsePower, cubicCapacity);
                engines.Add(engine);
            }

            while (true)
            {
                string command = Console.ReadLine();

                if (command == "Show special")
                {
                    break;
                }

                string[] carInfo = command.Split(" ", StringSplitOptions.RemoveEmptyEntries);

                string make            = carInfo[0];
                string model           = carInfo[1];
                int    year            = int.Parse(carInfo[2]);
                double fuelQuantity    = double.Parse(carInfo[3]);
                double fuelConsumption = double.Parse(carInfo[4]);
                int    engineIndex     = int.Parse(carInfo[5]);
                int    tiresIndex      = int.Parse(carInfo[6]);

                Car car = new Car(make, model, year, fuelQuantity, fuelConsumption, engines[engineIndex], tires[tiresIndex]);

                cars.Add(car);
            }

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

            foreach (Car car in cars)
            {
                double totalTirePressure = car.Tires.Sum(x => x.Pressure);
                if (car.Year >= 2017 && car.Engine.HorsePower >= 330 && totalTirePressure > 9 && totalTirePressure < 10)
                {
                    car.Drive(20);
                    specialCars.Add(car);
                }
            }

            foreach (var specialCar in specialCars)
            {
                Console.WriteLine($"Make: {specialCar.Make}");
                Console.WriteLine($"Model: {specialCar.Model}");
                Console.WriteLine($"Year: {specialCar.Year}");
                Console.WriteLine($"HorsePowers: {specialCar.Engine.HorsePower}");
                Console.WriteLine($"FuelQuantity: {specialCar.FuelQuantity}");
            }
        }
Ejemplo n.º 16
0
        static void Main(string[] args)
        {
            string        input;
            List <Tire[]> tires = new List <Tire[]>();

            while ((input = Console.ReadLine()) != "No more tires")
            {
                string[] token = input.Split();

                Tire[] carTires  = new Tire[4];
                int    tireCount = 0;

                for (int i = 0; i < token.Length; i++)
                {
                    Tire tire = new Tire(int.Parse(token[i]), double.Parse(token[i + 1]));
                    carTires[tireCount] = tire;
                    i++;
                    tireCount++;
                }

                tires.Add(carTires);
            }

            List <Engine> engines = new List <Engine>();

            while ((input = Console.ReadLine()) != "Engines done")
            {
                string[] token = input.Split();

                Engine engine = new Engine(int.Parse(token[0]), double.Parse(token[1]));

                engines.Add(engine);
            }

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

            while ((input = Console.ReadLine()) != "Show special")
            {
                string[] token = input.Split();

                Car car = new Car(token[0], token[1], int.Parse(token[2]), double.Parse(token[3]),
                                  double.Parse(token[4]), engines[int.Parse(token[5])], tires[int.Parse(token[6])]);

                cars.Add(car);
            }

            foreach (var car in cars)
            {
                double tiresPressureSum = 0;
                foreach (var tire in car.Tires)
                {
                    tiresPressureSum += tire.Pressure;
                }

                if (car.Year >= 2017 && car.Engine.HorsePower >= 330 && tiresPressureSum >= 9 && tiresPressureSum <= 10)
                {
                    car.Drive(20);

                    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}");
                }
            }
        }
Ejemplo n.º 17
0
        static void Main(string[] args)
        {
            string tireInput = string.Empty;

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

            while ((tireInput = Console.ReadLine()) != "No more tires")
            {
                double[] splittedInput = tireInput
                                         .Split(' ', StringSplitOptions.RemoveEmptyEntries)
                                         .Select(double.Parse)
                                         .ToArray();

                List <Tire> temp = new List <Tire>();

                for (int i = 0; i < splittedInput.Length - 1; i += 2)
                {
                    int    year     = (int)splittedInput[i];
                    double pressure = splittedInput[i + 1];

                    Tire temporary = new Tire(year, pressure);

                    temp.Add(temporary);
                }

                tires.Add(temp);
            }

            string engineInput = string.Empty;

            List <Engine> engines = new List <Engine>();

            while ((engineInput = Console.ReadLine()) != "Engines done")
            {
                double[] splittedInput = engineInput
                                         .Split(' ', StringSplitOptions.RemoveEmptyEntries)
                                         .Select(double.Parse)
                                         .ToArray();

                int    horsePower    = (int)splittedInput[0];
                double cubicCapacity = splittedInput[1];

                Engine temp = new Engine(horsePower, cubicCapacity);

                engines.Add(temp);
            }

            string carsInput = string.Empty;

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

            while ((carsInput = Console.ReadLine()) != "Show special")
            {
                string[] splittedInput = carsInput.Split(' ', StringSplitOptions.RemoveEmptyEntries);

                string make            = splittedInput[0];
                string model           = splittedInput[1];
                int    year            = int.Parse(splittedInput[2]);
                double fuelQuantity    = double.Parse(splittedInput[3]);
                double fuelConsumption = double.Parse(splittedInput[4]);
                int    engineIndex     = int.Parse(splittedInput[5]);
                int    tireIndex       = int.Parse(splittedInput[6]);

                Tire[] tireArray = tires[tireIndex].ToArray();
                Engine engine    = engines[engineIndex];

                Car car = new Car(make,
                                  model,
                                  year,
                                  fuelQuantity,
                                  fuelConsumption,
                                  engine,
                                  tireArray);

                cars.Add(car);
            }

            foreach (var car in cars)
            {
                double currentTirePressure = 0.0;

                foreach (var Tire in car.Tires)
                {
                    currentTirePressure += Tire.Pressure;
                }

                if (car.Year >= 2017 &&
                    car.Engine.HorsePower >= 330 &&
                    currentTirePressure >= 9 &&
                    currentTirePressure <= 10)
                {
                    car.Drive(20);
                    Console.WriteLine(car.WhoAmI());
                }
            }
        }
Ejemplo n.º 18
0
        static void Main(string[] args)
        {
            //2.Car Extension

            //Car car = new Car();
            //car.Make = "VW";
            //car.Model = "MK3";
            //car.Year = 1992;
            //car.FuelQuantity = 200;
            //car.FuelConsumption = 200;

            //car.Drive(2000);

            ////Console.WriteLine($"Make: {car.Make}\nModel: {car.Model}\nYear: {car.Year}");

            //Console.WriteLine(car.WhoAmI());


            //3.Car Constructors

            //string make = Console.ReadLine();
            //string model = Console.ReadLine();
            //int year = int.Parse(Console.ReadLine());
            //double fuelQuantity = double.Parse(Console.ReadLine());
            //double fuelConsumption = double.Parse(Console.ReadLine());

            //Car firstCar = new Car();
            //Car secondCar = new Car(make, model, year);
            //Car thirdCar = new Car(make, model, year, fuelQuantity, fuelConsumption);


            //4.Car Engine and Tires

            //Tire[] tires = new Tire[4]
            //{
            //    new Tire(1, 2.5),
            //    new Tire(1, 2.1),
            //    new Tire(2, 0.5),
            //    new Tire(2, 2.3)
            //};

            //Engine engine = new Engine(560, 6300);
            //Car car = new Car("Lamborghini", "Urus", 2010, 250, 9, engine, tires);


            //5.Special Cars

            List <Tire[]> tires    = new List <Tire[]>();
            string        tireInfo = Console.ReadLine();

            while (tireInfo != "No more tires")
            {
                string[] tireParts    = tireInfo.Split(" ", StringSplitOptions.RemoveEmptyEntries);
                Tire[]   currentTires = new Tire[4]
                {
                    new Tire(int.Parse(tireParts[0]), double.Parse(tireParts[1])),
                    new Tire(int.Parse(tireParts[2]), double.Parse(tireParts[3])),
                    new Tire(int.Parse(tireParts[4]), double.Parse(tireParts[5])),
                    new Tire(int.Parse(tireParts[6]), double.Parse(tireParts[7])),
                };

                tires.Add(currentTires);

                tireInfo = Console.ReadLine();
            }

            List <Engine> engines    = new List <Engine>();
            string        engineInfo = Console.ReadLine();

            while (engineInfo != "Engines done")
            {
                string[] engineParts   = engineInfo.Split(" ", StringSplitOptions.RemoveEmptyEntries);
                int      horsePower    = int.Parse(engineParts[0]);
                double   cubicCapacity = double.Parse(engineParts[1]);
                Engine   engine        = new Engine(horsePower, cubicCapacity);
                engines.Add(engine);


                engineInfo = Console.ReadLine();
            }

            List <Car> cars    = new List <Car>();
            string     carInfo = Console.ReadLine();

            while (carInfo != "Show special")
            {
                string[] carParts        = carInfo.Split(" ", StringSplitOptions.RemoveEmptyEntries);
                string   make            = carParts[0];
                string   model           = carParts[1];
                int      year            = int.Parse(carParts[2]);
                double   fuelQuantity    = double.Parse(carParts[3]);
                double   fuelConsumption = double.Parse(carParts[4]);
                int      engineIndex     = int.Parse(carParts[5]);
                int      tireIndex       = int.Parse(carParts[6]);
                Car      car             = new Car(make, model, year, fuelQuantity, fuelConsumption, engines[engineIndex], tires[tireIndex]);
                cars.Add(car);

                carInfo = Console.ReadLine();
            }

            List <Car> specialCars = cars
                                     .Where(car => car.Year >= 2017 && car.Engine.HorsePower > 330 &&
                                            car.Tires.Sum(y => y.Pressure) >= 9 && car.Tires.Sum(y => y.Pressure) <= 10)
                                     .ToList();

            if (cars.Any())
            {
                foreach (var car in specialCars)
                {
                    car.Drive(20);
                    Console.WriteLine(car.WhoAmI());
                }
            }
        }
Ejemplo n.º 19
0
        static void Main(string[] args)
        {
            List <Tire[]> tires = new List <Tire[]>();

            while (true)
            {
                string command = Console.ReadLine();

                if (command == "No more tires")
                {
                    break;
                }

                string[] tiresData = command.Split();

                List <Tire> tiresList = new List <Tire>();

                for (int i = 0; i < tiresData.Length; i += 2)
                {
                    int    year     = int.Parse(tiresData[i]);
                    double pressure = double.Parse(tiresData[i + 1]);

                    Tire tire = new Tire(year, pressure);

                    tiresList.Add(tire);
                }

                tires.Add(tiresList.ToArray());
            }

            List <Engine> engines = new List <Engine>();

            while (true)
            {
                string command = Console.ReadLine();

                if (command == "Engines done")
                {
                    break;
                }

                string[] enginesData = command.Split();

                int    horsePower    = int.Parse(enginesData[0]);
                double cubicCapacity = double.Parse(enginesData[1]);

                Engine engine = new Engine(horsePower, cubicCapacity);

                engines.Add(engine);
            }

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

            while (true)
            {
                string command = Console.ReadLine();

                if (command == "Show special")
                {
                    break;
                }

                string[] carData = command.Split();

                string make            = carData[0];
                string model           = carData[1];
                int    year            = int.Parse(carData[2]);
                double fuelQuantity    = double.Parse(carData[3]);
                double fuelConsumption = double.Parse(carData[4]);
                int    engineIndex     = int.Parse(carData[5]);
                int    tiresIndex      = int.Parse(carData[6]);

                Car car = new Car(make, model, year, fuelQuantity, fuelConsumption, engines[engineIndex], tires[tiresIndex]);

                cars.Add(car);
            }

            var specialCars = cars
                              .Where(x => x.Year >= 2017)
                              .Where(x => x.Engine.HorsePower > 330)
                              .Where(x => x.Tires.Sum(y => y.Pressure) > 9)
                              .Where(x => x.Tires.Sum(y => y.Pressure) < 10)
                              .ToList();

            //resultCars.ForEach(x => x.Drive(20));

            foreach (Car car in specialCars)
            {
                car.Drive(20);
                Console.WriteLine($"Make: {car.Make}\nModel: {car.Model}\n" +
                                  $"Year: {car.Year}\nHorsePowers: {car.Engine.HorsePower}\n" +
                                  $"FuelQuantity: {car.FuelQuantity:f1}");
            }
        }