static void Main(string[] args) { int lines = int.Parse(Console.ReadLine()); Car[] cars = new Car[lines]; for (int i = 0; i < lines; i++) { var input = Console.ReadLine().Split(); string model = input[0]; double speed = double.Parse(input[1]); double power = double.Parse(input[2]); double weight = double.Parse(input[3]); string type = input[4]; double tyre1Pressure = double.Parse(input[5]); int tyre1Age = int.Parse(input[6]); double tyre2Pressure = double.Parse(input[7]); int tyre2Age = int.Parse(input[8]); double tyre3Pressure = double.Parse(input[9]); int tyre3Age = int.Parse(input[10]); double tyre4Pressure = double.Parse(input[11]); int tyre4Age = int.Parse(input[12]); cars[i] = new Car(model, new Engine(speed, power), new Cargo(type, weight), new List <Tire> { new Tire(tyre1Pressure, tyre1Age), new Tire(tyre2Pressure, tyre2Age), new Tire(tyre3Pressure, tyre3Age), new Tire(tyre4Pressure, tyre4Age) }); } string command = Console.ReadLine(); if (command == "fragile") { var outputCars = cars.Where(c => c.cargo.Type == "fragile") .Where(c => c.tires.Any(t => t.tirePressure < 1)) .Select(c => c.model).ToList(); foreach (var c in outputCars) { Console.WriteLine(c); } } else if (command == "flamable") { var outputCars = cars.Where(c => c.cargo.Type == "flamable") .Where(c => c.engine.Power > 250) .Select(c => c.model).ToList(); foreach (var c in outputCars) { Console.WriteLine(c); } } }
public static void Main() { int numberOfCars = int.Parse(Console.ReadLine()); Car[] cars = new Car[numberOfCars]; for (int i = 0; i < numberOfCars; i++) { string[] inputs = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string carModel = inputs[0]; int engineSpeed = int.Parse(inputs[1]); int enginePower = int.Parse(inputs[2]); int cargoWeight = int.Parse(inputs[3]); string cargoType = inputs[4]; // this is intentionally done crappy... Tire[] tires = new Tire[4]; for (int j = 0; j < 8; j += 2) { Tire newTire = new Tire() { Pressure = double.Parse(inputs[5 + j]), Age = int.Parse(inputs[6 + j]), }; tires[j / 2] = newTire; } Cargo currentCargo = new Cargo(cargoWeight, cargoType); Engine currentEngine = new Engine(engineSpeed, enginePower); Car currentCar = new Car(carModel, currentCargo, currentEngine, tires); cars[i] = currentCar; } string command = Console.ReadLine(); if (command.Equals("fragile")) { foreach (Car car in cars.Where(c => c.Cargo.CargoType.Equals("fragile")).Where(c => c.Tires.Any(t => t.Pressure < 1))) { Console.WriteLine(car.Model); } } else if (command.Equals("flamable")) { foreach (Car car in cars.Where(c => c.Cargo.CargoType.Equals("flamable")).Where(c => c.Engine.Power > 250)) { Console.WriteLine(car.Model); } } }
static void Main(string[] args) { int count = int.Parse(Console.ReadLine()); Car[] cars = new Car[count]; for (int i = 0; i < count; i++) { string input = Console.ReadLine(); string[] tokens = input.Split(new char[0], StringSplitOptions.RemoveEmptyEntries); string model = tokens[0]; int speed = int.Parse(tokens[1]); int power = int.Parse(tokens[2]); int weight = int.Parse(tokens[3]); string type = tokens[4]; double tyre1Pressure = double.Parse(tokens[5]); int tyre1Age = int.Parse(tokens[6]); double tyre2Pressure = double.Parse(tokens[7]); int tyre2Age = int.Parse(tokens[8]); double tyre3Pressure = double.Parse(tokens[9]); int tyre3Age = int.Parse(tokens[10]); double tyre4Pressure = double.Parse(tokens[11]); int tyre4Age = int.Parse(tokens[12]); cars[i] = new Car(model, new Engine(speed, power), new Cargo(type, weight), new List <Tyre> { new Tyre(tyre1Pressure, tyre1Age), new Tyre(tyre2Pressure, tyre2Age), new Tyre(tyre3Pressure, tyre3Age), new Tyre(tyre4Pressure, tyre4Age) }); } string command = Console.ReadLine(); if (command == "fragile") { cars.Where(c => c.cargo.type == "fragile").Where(c => c.tires.Any(t => t.pressure < 1)).Select(c => c.model).ToList().ForEach(m => Console.WriteLine(m)); } else if (command == "flamable") { cars.Where(c => c.cargo.type == "flamable").Where(c => c.engine.power > 250).Select(c => c.model).ToList().ForEach(m => Console.WriteLine(m)); } }
public static void Main() { int numberOfCars = int.Parse(Console.ReadLine()); Car[] cars = new Car[numberOfCars]; for (int i = 0; i < numberOfCars; i++) { string[] inputs = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string carModel = inputs[0]; int engineSpeed = int.Parse(inputs[1]); int enginePower = int.Parse(inputs[2]); int cargoWeight = int.Parse(inputs[3]); string cargoType = inputs[4]; // this is intentionally done crappy... Tire[] tires = new Tire[4]; for (int j = 0; j < 8; j += 2) { Tire newTire = new Tire() { Pressure = double.Parse(inputs[5 + j]), Age = int.Parse(inputs[6 + j]), }; tires[j / 2] = newTire; } Cargo currentCargo = new Cargo(cargoWeight, cargoType); Engine currentEngine = new Engine(engineSpeed, enginePower); Car currentCar = new Car(carModel, currentCargo, currentEngine, tires); cars[i] = currentCar; } //this too is intentionally done crappy... string consoleCommand = Console.ReadLine(); if (consoleCommand == "fragile") { IEnumerable <Car> carsWithFragileCargoAndLowPressureTires = cars.Where(x => { return(x.Cargo.CargoType == "fragile" && // Also hard to understand task definition, inititally I thought the idea was to check if the sum of tire pressures is bellow 1 // (((x.Tires.Select(t => t.Pressure).Sum()) / (double)x.Tires.Length) < 1); (x.Tires.Where(p => p.Pressure < 1).Count() > 0)); } ); foreach (Car car in carsWithFragileCargoAndLowPressureTires) { Console.WriteLine(car.Model); } } else if (consoleCommand == "flammable") { IEnumerable <Car> carsWithFlammableCargoAndPowerfullEngine = cars.Where(x => { return(x.Cargo.CargoType == "flammable" && (x.Engine.Power > 250)); } ); foreach (Car car in carsWithFlammableCargoAndPowerfullEngine) { Console.WriteLine(car.Model); } } }