public Car( string model, Engine engine, string weight = DefaultValue, string color = DefaultValue) { this.Model = model; this.Engine = engine; this.Weight = weight; this.Color = color; }
static void Main(string[] args) { List <Car> cars = new List <Car>(); List <Engine> engines = new List <Engine>(); int count = int.Parse(Console.ReadLine()); for (int i = 0; i < count; i++) { string[] dataEngine = Console.ReadLine() .Split(" ", StringSplitOptions.RemoveEmptyEntries) .ToArray(); string engineModel = dataEngine[0]; int power = int.Parse(dataEngine[1]); int displacement = 0; var efficiency = "n/a"; if (dataEngine.Length == 4) { displacement = int.Parse(dataEngine[2]); efficiency = dataEngine[3]; } else if (dataEngine.Length == 3) { if (char.IsLetter(char.Parse(dataEngine[2][0].ToString()))) { efficiency = dataEngine[2]; } else { displacement = int.Parse(dataEngine[2]); } } Engine engine = new Engine(engineModel, power, displacement, efficiency); engines.Add(engine); } count = int.Parse(Console.ReadLine()); for (int i = 0; i < count; i++) { string[] dataCar = Console.ReadLine() .Split(" ", StringSplitOptions.RemoveEmptyEntries) .ToArray(); string CarModel = dataCar[0]; string CarEngine = dataCar[1]; int weight = 0; var color = "n/a"; if (dataCar.Length == 4) { weight = int.Parse(dataCar[2]); color = dataCar[3]; } else if (dataCar.Length == 3) { if (char.IsLetter(char.Parse(dataCar[2][0].ToString()))) { color = dataCar[2]; } else { weight = int.Parse(dataCar[2]); } } var engine = engines.Where(x => x.EngineModel == CarEngine).FirstOrDefault(); Car car = new Car(CarModel, engine, weight, color); cars.Add(car); } foreach (Car car in cars) { Console.WriteLine(car.ToString()); } }
public Car(string model, Engine engine, string color, int weight) : this(model, engine, color) { this.Weight = weight; }
public Car(string model, Engine engine, string color) : this(model, engine) { this.Color = color; }
public Car(string model, Engine engine, int weight, string color) : this(model, engine, weight) { this.Color = color; }
public Car(string model, Engine engine, int weight) : this(model, engine) { this.Weight = weight; }
public Car(string model, Engine engine) { this.Model = model; this.Engine = engine; }
public static void Main() { HashSet <Engine> engines = new HashSet <Engine>(); List <Car> cars = new List <Car>(); int numberOfEngines = int.Parse(Console.ReadLine()); for (int i = 0; i < numberOfEngines; i++) { string[] inputEngine = Console.ReadLine() .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries) .ToArray(); Engine engine = null; string model = inputEngine[0]; int power = int.Parse(inputEngine[1]); if (inputEngine.Length == 4) { int displacement = int.Parse(inputEngine[2]); string efficiency = inputEngine[3]; engine = new Engine(model, power, displacement, efficiency); } else if (inputEngine.Length == 3) { int displacement; bool isDisplacement = int.TryParse(inputEngine[2], out displacement); if (isDisplacement) { engine = new Engine(model, power, displacement); } else { engine = new Engine(model, power, inputEngine[2]); } } else if (inputEngine.Length == 2) { engine = new Engine(model, power); } if (engine != null) { engines.Add(engine); } } int numberOfCars = int.Parse(Console.ReadLine()); for (int i = 0; i < numberOfCars; i++) { string[] inputCar = Console.ReadLine() .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries) .ToArray(); Car car = null; string model = inputCar[0]; Engine engine = engines.First(x => x.Model == inputCar[1]); if (inputCar.Length == 2) { car = new Car(model, engine); } else if (inputCar.Length == 3) { double weight; bool isWeight = double.TryParse(inputCar[2], out weight); if (isWeight) { car = new Car(model, engine, weight); } else { car = new Car(model, engine, inputCar[2]); } } else if (inputCar.Length == 4) { double weight = double.Parse(inputCar[2]); string color = inputCar[3]; car = new Car(model, engine, weight, color); } if (car != null) { cars.Add(car); } } foreach (var car in cars) { Console.WriteLine(car); } }
static void Main(string[] args) { var engines = new Dictionary<string, Engine>(); var engineCount = int.Parse(Console.ReadLine()); for (int i = 0; i < engineCount; i++) { var parameters = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); var engineModel = parameters[0]; var enginePower = parameters[1]; string engineDisplacement = "n/a"; string engineEfficiency = "n/a"; if (parameters.Length >= 3) { int displacement = -1; if (int.TryParse(parameters[2], out displacement)) { engineDisplacement = parameters[2]; } else { engineEfficiency = parameters[2]; } if (parameters.Length == 4) { engineEfficiency = displacement != -1 ? parameters[3] : parameters[2]; } } var engine = new Engine(engineModel, enginePower, engineDisplacement, engineEfficiency); engines.Add(engineModel, engine); } var cars = new List<Car>(); var carCount = int.Parse(Console.ReadLine()); for (int i = 0; i < carCount; i++) { var parameters = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); var carModel = parameters[0]; var carEngine = engines[parameters[1]]; string carWeight = "n/a"; string carColor = "n/a"; if (parameters.Length >= 3) { int weight = -1; if (int.TryParse(parameters[2], out weight)) { carWeight = parameters[2]; } else { carColor = parameters[2]; } if (parameters.Length == 4) { carColor = weight != -1 ? parameters[3] : parameters[2]; } } var car = new Car(carModel, carEngine, carWeight, carColor); cars.Add(car); } foreach (Car car in cars) { Console.WriteLine(car); } }
public static void Main(string[] args) { List <Engine> engines = new List <Engine>(); int numberOfEngines = int.Parse(Console.ReadLine()); for (int i = 0; i < numberOfEngines; i++) { string[] inputParts = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string model = inputParts[0]; int power = int.Parse(inputParts[1]); Engine engine = new Engine(model, power); if (inputParts.Length == 3) { int displacement; if (int.TryParse(inputParts[2], out displacement)) { engine.Displacement = displacement; } else { engine.Efficiency = inputParts[2]; } } else if (inputParts.Length == 4) { int displacement = int.Parse(inputParts[2]); string efficiency = inputParts[3]; engine.Displacement = displacement; engine.Efficiency = efficiency; } engines.Add(engine); } List <Car> cars = new List <Car>(); int numberOfCars = int.Parse(Console.ReadLine()); for (int i = 0; i < numberOfCars; i++) { string[] inputParts = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string model = inputParts[0]; string engineModel = inputParts[1]; Engine engine = engines.FirstOrDefault(e => e.Model == engineModel); Car car = new Car(model, engine); if (inputParts.Length == 3) { int weight; if (int.TryParse(inputParts[2], out weight)) { car.Weight = weight; } else { car.Color = inputParts[2]; } } else if (inputParts.Length == 4) { int weight = int.Parse(inputParts[2]); string color = inputParts[3]; car.Weight = weight; car.Color = color; } cars.Add(car); } foreach (Car car in cars) { Console.WriteLine(car); } }
public static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); List <Engine> engines = new List <Engine>(); for (int i = 0; i < n; i++) { string[] arr = Console.ReadLine() .Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) .ToArray(); string modelEngine = arr[0]; int powerEngine = int.Parse(arr[1]); string displacement = "n/a"; string efficiency = "n/a"; if (arr.Length == 3) { if (arr[2].Any(x => char.IsDigit(x))) { int number = int.Parse(arr[2]); displacement = number.ToString(); } else { efficiency = arr[2]; } } else if (arr.Length == 4) { int number = int.Parse(arr[2]); displacement = number.ToString(); efficiency = arr[3]; } engines.Add(new Engine() { Model = modelEngine, Power = powerEngine, Displacement = displacement, Efficiency = efficiency }); } int m = int.Parse(Console.ReadLine()); List <Car> cars = new List <Car>(); for (int i = 0; i < m; i++) { string[] arr = Console.ReadLine() .Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) .ToArray(); string carModel = arr[0]; Engine carEngine = engines.FirstOrDefault(x => x.Model == arr[1]); string weight = "n/a"; string color = "n/a"; if (arr.Length == 3) { if (arr[2].Any(x => char.IsDigit(x))) { int number = int.Parse(arr[2]); weight = number.ToString(); } else { color = arr[2]; } } else if (arr.Length == 4) { int number = int.Parse(arr[2]); weight = number.ToString(); color = arr[3]; } cars.Add(new Car() { Model = carModel, Engine = carEngine, Weight = weight, Color = color }); } foreach (Car car in cars) { Console.WriteLine($"{car.Model}:"); Console.WriteLine($" {car.Engine.Model}:"); Console.WriteLine($" Power: {car.Engine.Power}"); Console.WriteLine($" Displacement: {car.Engine.Displacement}"); Console.WriteLine($" Efficiency: {car.Engine.Efficiency}"); Console.WriteLine($" Weight: {car.Weight}"); Console.WriteLine($" Color: {car.Color}"); } }
public Car(string model, Engine engine, int?weight, string color) : this(model, engine) { this.weight = weight; this.color = color; }