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); } }
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()); } }
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()); } }
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}"); } } }
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}"); } }
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}"); } }
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)); }
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()); } }
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()); } }
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)); } } }
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)); }
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}"); } }
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}"); } }
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}"); } } }
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()); } } }
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()); } } }
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}"); } }