public List <Car> Build(int counter) { List <Car> cars = new List <Car>(); for (int i = 0; i < counter; i++) { string[] inputArgs = Console.ReadLine().Split().ToArray(); string carModel = inputArgs[0]; int engineSpeed = int.Parse(inputArgs[1]); int enginePower = int.Parse(inputArgs[2]); int cargoWeight = int.Parse(inputArgs[3]); string type = inputArgs[4]; Tire[] tires = new Tire[4]; int tiresCounter = 0; for (int tireIndex = 5; tireIndex < inputArgs.Length; tireIndex += 2) { double currentTirePressure = double.Parse(inputArgs[tireIndex]); int currentTireAge = int.Parse(inputArgs[tireIndex + 1]); Tire tire = new Tire(currentTirePressure, currentTireAge); tires[tiresCounter] = tire; tiresCounter++; } Engine engine = new Engine(engineSpeed, enginePower); Cargo cargo = new Cargo(cargoWeight, type); Car car = new Car(carModel, engine, cargo, tires); cars.Add(car); } return(cars); }
static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); Dictionary <string, Car> allCars = new Dictionary <string, Car>(); for (int i = 0; i < n; i++) { var input = Console.ReadLine() .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries) .ToArray(); Car car = new Car(); List <Tire> tires = new List <Tire>(); var model = input[0]; var enginePower = int.Parse(input[2]); var engineSpeed = int.Parse(input[1]); var cargoWeight = int.Parse(input[3]); var cargoType = input[4]; var firstP = double.Parse(input[5]); var firstA = int.Parse(input[6]); Tire firstT = new Tire(firstP, firstA); var secondP = double.Parse(input[7]); var secondA = int.Parse(input[8]); Tire secondT = new Tire(secondP, secondA); var thirdP = double.Parse(input[9]); var thirdA = int.Parse(input[10]); Tire thirdT = new Tire(thirdP, thirdA); var fourthP = double.Parse(input[11]); var fourthA = int.Parse(input[12]); Tire fourthT = new Tire(fourthP, fourthA); tires.Add(firstT); tires.Add(secondT); tires.Add(thirdT); tires.Add(fourthT); car.AddCar( model, new Engine(engineSpeed, enginePower), new Cargo(cargoWeight, cargoType), tires); allCars[model] = car; } string command = Console.ReadLine(); if (command == "fragile") { allCars .Where(x => x.Value.Tire.Any(p => p.Pressure < 1) && x.Value.Cargo.Type == "fragile") .Select(x => x.Key) .ToList() .ForEach(x => Console.WriteLine(x)); } else if (command == "flamable") { allCars .Where(x => x.Value.Engine.EnginePower > 250 && x.Value.Cargo.Type == "flamable") .Select(x => x.Key) .ToList() .ForEach(x => Console.WriteLine(x)); } }