static void Main(string[] args) { int carsCount = int.Parse(Console.ReadLine()); var cars = new Dictionary <string, Car>(); for (int count = 0; count < carsCount; count++) { string[] carInfo = Console.ReadLine().Split(); Engine engine = new Engine { Speed = int.Parse(carInfo[1]), Power = int.Parse(carInfo[2]) }; Cargo cargo = new Cargo { Weigth = int.Parse(carInfo[3]), Type = carInfo[4] }; List <Tire> tires = new List <Tire> { new Tire { Pressure = double.Parse(carInfo[5]), Age = int.Parse(carInfo[6]) }, new Tire { Pressure = double.Parse(carInfo[7]), Age = int.Parse(carInfo[8]) }, new Tire { Pressure = double.Parse(carInfo[9]), Age = int.Parse(carInfo[10]) }, new Tire { Pressure = double.Parse(carInfo[11]), Age = int.Parse(carInfo[12]) } }; Car car = new Car { Model = carInfo[0], Engine = engine, Cargo = cargo, Tires = tires }; if (cars.ContainsKey(car.Model) == false) { cars.Add(car.Model, car); } } string command = Console.ReadLine(); switch (command) { case "fragile": Console.WriteLine(string.Join(Environment.NewLine, cars.Values.Where(c => c.Cargo.Type == "fragile" && c.Tires.Any(t => t.Pressure < 1)))); break; case "flamable": Console.WriteLine(string.Join(Environment.NewLine, cars.Values.Where(c => c.Cargo.Type == "flamable" && c.Engine.Power > 250))); break; } }
public static void Main(string[] args) { int numberOfCars = int.Parse(Console.ReadLine()); List <Car> cars = new List <Car>(); for (int i = 0; i < numberOfCars; i++) { string[] tokens = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries); string model = tokens[0]; int engineSpeed = int.Parse(tokens[1]); int enginePower = int.Parse(tokens[2]); int cargoWeight = int.Parse(tokens[3]); string cargoType = tokens[4]; double firstTirePressure = double.Parse(tokens[5]); int firstTireAge = int.Parse(tokens[6]); double secondTirePressure = double.Parse(tokens[7]); int secondTireAge = int.Parse(tokens[8]); double thirdTirePressure = double.Parse(tokens[9]); int thirdTireAge = int.Parse(tokens[10]); double fourthTirePressure = double.Parse(tokens[11]); int fourthTireAge = int.Parse(tokens[12]); Tire firstTire = new Tire(firstTirePressure, firstTireAge); Tire secondTire = new Tire(secondTirePressure, secondTireAge); Tire thirdTire = new Tire(thirdTirePressure, thirdTireAge); Tire fourthTire = new Tire(fourthTirePressure, fourthTireAge); List <Tire> tires = new List <Tire>(4) { firstTire, secondTire, thirdTire, fourthTire }; Engine engine = new Engine(engineSpeed, enginePower); Cargo cargo = new Cargo(cargoWeight, cargoType); Car car = new Car(model, engine, cargo, tires); cars.Add(car); } string command = Console.ReadLine(); if (command == "fragile") { cars .Where(c => c.cargo.cargoType == "fragile") .Where(c => c.tires.Any(t => t.tirePressure < 1)) .Select(m => m.Model) .ToList() .ForEach(m => Console.WriteLine(m)); } else if (command == "flamable") { cars .Where(c => c.cargo.cargoType == "flamable") .Where(e => e.engine.enginePower > 250) .Select(m => m.Model) .ToList() .ForEach(m => Console.WriteLine(m)); } }
public static void Main() { var numberCars = int.Parse(Console.ReadLine()); var cars = new List <Car>(); for (int i = 0; i < numberCars; i++) { var input = Console.ReadLine().Split(' ').ToArray(); var model = input[0]; var engine = new Engine { Speed = int.Parse(input[1]), Power = int.Parse(input[2]) }; var cargo = new Cargo { Weight = int.Parse(input[3]), Type = input[4] }; var tires = new List <Tire>(); var tire1 = new Tire { Pressure = double.Parse(input[5]), Age = int.Parse(input[6]) }; tires.Add(tire1); var tire2 = new Tire { Pressure = double.Parse(input[7]), Age = int.Parse(input[8]) }; tires.Add(tire2); var tire3 = new Tire { Pressure = double.Parse(input[9]), Age = int.Parse(input[10]) }; tires.Add(tire3); var tire4 = new Tire { Pressure = double.Parse(input[11]), Age = int.Parse(input[12]) }; tires.Add(tire4); var newCar = new Car(model, engine, cargo, tires); cars.Add(newCar); } var command = Console.ReadLine(); var answer = new StringBuilder(); if (command == "fragile") { //var searchedCars = cars.Where(c => c.Cargo.Type == command && c.Tires.Where(p => p.Pressure < 1).FirstOrDefault() != null).ToList(); var searchedCars = cars.Where(c => c.Cargo.Type == command) .Where(c => c.Tires.Where(p => p.Pressure < 1).FirstOrDefault() != null) .ToList(); foreach (var car in searchedCars) { answer.Append(car.Model).Append('\n'); } } else { var searchedCars = cars.Where(c => c.Cargo.Type == command).Where(c => c.Engine.Power > 250).ToList(); foreach (var car in searchedCars) { answer.Append(car.Model).Append('\n'); } } Console.WriteLine(answer); }
static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); List <Car> cars = new List <Car>(); for (int i = 0; i < n; i++) { string[] info = Console.ReadLine().Split(); string model = info[0]; int engineSpeed = int.Parse(info[1]); int enginePower = int.Parse(info[2]); Engine engine = new Engine(engineSpeed, enginePower); int cargoWeight = int.Parse(info[3]); string cargoType = info[4]; Cargo cargo = new Cargo(cargoWeight, cargoType); double tire1Pressure = double.Parse(info[5]); int tire1Year = int.Parse(info[6]); Tires tire1 = new Tires(tire1Pressure, tire1Year); double tire2Pressure = double.Parse(info[7]); int tire2Year = int.Parse(info[8]); Tires tire2 = new Tires(tire2Pressure, tire2Year); double tire3Pressure = double.Parse(info[9]); int tire3Year = int.Parse(info[10]); Tires tire3 = new Tires(tire3Pressure, tire3Year); double tire4Pressure = double.Parse(info[11]); int tire4Year = int.Parse(info[12]); Tires tire4 = new Tires(tire4Pressure, tire4Year); List <Tires> tires = new List <Tires> { tire1, tire2, tire3, tire4 }; Car car = new Car(model, engine, cargo, tires); cars.Add(car); } string command = Console.ReadLine(); if (command == "fragile") { List <Car> fragileCars = new List <Car>(); fragileCars = cars.Where(c => c.Cargo.CargoType == "fragile") .Where(c => c.Tires.Any(p => p.TirePressure < 1)).ToList(); foreach (Car car in fragileCars) { Console.WriteLine(car.Model); } //cars.Where(c => c.Cargo.CargoType == "fragile").Where(c => c.Tires.Any(t => t.TirePressure < 1)) //.Select(c => c.Model).ToList().ForEach(m => Console.WriteLine(m)); } else if (command == "flamable") { List <Car> flamableCars = new List <Car>(); flamableCars = cars.Where(c => c.Cargo.CargoType == "flamable") .Where(c => c.Engine.EnginePower > 250).ToList(); foreach (Car car in flamableCars) { Console.WriteLine(car.Model); } //cars.Where(c => c.Cargo.CargoType == "flamable").Where(c => c.Engine.EnginePower > 250) //.Select(c => c.Model).ToList().ForEach(m => Console.WriteLine(m)); } }
static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); List <Car> cars = new List <Car>(); for (int i = 0; i < n; i++) { string[] data = Console.ReadLine() .Split(' ', StringSplitOptions.RemoveEmptyEntries); string model = data[0]; int engineSpeed = int.Parse(data[1]); int enginePower = int.Parse(data[2]); int cargoWeight = int.Parse(data[3]); string cargoType = data[4]; double tire1Pressure = double.Parse(data[5]); int tire1Age = int.Parse(data[6]); double tire2Pressure = double.Parse(data[7]); int tire2Age = int.Parse(data[8]); double tire3Pressure = double.Parse(data[9]); int tire3Age = int.Parse(data[10]); double tire4Pressure = double.Parse(data[11]); int tire4Age = int.Parse(data[12]); //FACTORY PATTERN - creating all objects seperately and adding them in the car object Engine engine = CreateEngine(engineSpeed, enginePower); Cargo cargo = CreateCargo(cargoWeight, cargoType); Tire[] tires = new Tire[] { CreateTire(tire1Pressure, tire1Age), CreateTire(tire2Pressure, tire2Age), CreateTire(tire3Pressure, tire3Age), CreateTire(tire4Pressure, tire4Age), }; Car car = new Car(model, engine, cargo, tires); cars.Add(car); } string input = Console.ReadLine(); if (input == "fragile") { foreach (Car car in cars) { if (car.Cargo.CargoType == "fragile" && car.Tires.Any(t => t.Pressure < 1)) { Console.WriteLine(car.Model); } } } else if (input == "flamable") { foreach (Car car in cars) { if (car.Cargo.CargoType == "flamable" && car.Engine.Power > 250) { Console.WriteLine(car.Model); } } } }
public static void Main(string[] args) { int numberCars = int.Parse(Console.ReadLine()); List <Car> cars = new List <Car>(); for (int i = 0; i < numberCars; i++) { string[] carInfo = Console.ReadLine() .Split(" ", StringSplitOptions.RemoveEmptyEntries); string model = carInfo[0]; int engineSpeed = int.Parse(carInfo[1]); int enginePower = int.Parse(carInfo[2]); int cargoWeight = int.Parse(carInfo[3]); string cargoType = carInfo[4]; double tire1Pressure = double.Parse(carInfo[5]); int tire1Age = int.Parse(carInfo[6]); double tire2Pressure = double.Parse(carInfo[7]); int tire2Age = int.Parse(carInfo[8]); double tire3Pressure = double.Parse(carInfo[9]); int tire3Age = int.Parse(carInfo[10]); double tire4Pressure = double.Parse(carInfo[11]); int tire4Age = int.Parse(carInfo[12]); Engine engine = new Engine(engineSpeed, enginePower); Cargo cargo = new Cargo(cargoWeight, cargoType); Tire[] tires = new Tire[4] { new Tire(tire1Age, tire1Pressure), new Tire(tire2Age, tire2Pressure), new Tire(tire3Age, tire3Pressure), new Tire(tire4Age, tire4Pressure) }; Car car = new Car(model, engine, cargo, tires); cars.Add(car); } string command = Console.ReadLine(); if (command == "fragile") { cars = cars .Where(car => car.Cargo.CargoType == "fragile") .Where(car => car.IsPressureLessThanOne(car)) .ToList(); //cars = cars // .Where(car => car.Cargo.CargoType == "fragile" && // car.Tires.Any(t => t.TirePressure < 1)) // .ToList(); } if (command == "flamable") { cars = cars .Where(car => car.Cargo.CargoType == "flamable") .Where(car => car.Engine.EnginePower > 250) .ToList(); } //cars.ForEach(car => Console.WriteLine(car.Model)); Console.WriteLine(String.Join(Environment.NewLine, cars)); }
public static void Main() { int countCars = int.Parse(Console.ReadLine()); List <Car> cars = new List <Car>(); for (int i = 0; i < countCars; i++) { string[] elements = Console.ReadLine() .Split(" ", StringSplitOptions.RemoveEmptyEntries); string model = elements[0]; int engineSpeed = int.Parse(elements[1]); int enginePower = int.Parse(elements[2]); int cargoWeight = int.Parse(elements[3]); string cargoType = elements[4]; double tire1Pressure = double.Parse(elements[5]); int tire1Age = int.Parse(elements[6]); double tire2Pressure = double.Parse(elements[7]); int tire2Age = int.Parse(elements[8]); double tire3Pressure = double.Parse(elements[9]); int tire3Age = int.Parse(elements[10]); double tire4Pressure = double.Parse(elements[11]); int tire4Age = int.Parse(elements[12]); Engine engine = new Engine(engineSpeed, enginePower); Cargo cargo = new Cargo(cargoWeight, cargoType); Tire[] tires = new Tire[4] { new Tire(tire1Pressure, tire1Age), new Tire(tire2Pressure, tire2Age), new Tire(tire3Pressure, tire3Age), new Tire(tire4Pressure, tire4Age), }; Car car = new Car(model, engine, cargo, tires); cars.Add(car); } string command = Console.ReadLine(); if (command == "fragile") { var result = cars.Where(x => x.Cargo.CargoType == "fragile") .Where(x => x.Tires.Any(p => p.TirePressure < 1)) .ToList(); foreach (var item in result) { Console.WriteLine(item.Model); } } else { var result = cars.Where(x => x.Cargo.CargoType == "flamable") .Where(x => x.Engine.EnginePower > 250) .ToList(); foreach (var item in result) { Console.WriteLine(item.Model); } } }
public static void Main() { int carsCount = int.Parse(Console.ReadLine()); var cars = new List <Car>(); for (int i = 0; i < carsCount; i++) { var carInfo = Console.ReadLine() .Split(" ", StringSplitOptions.RemoveEmptyEntries) .ToArray(); string model = carInfo[0]; int engineSpeed = int.Parse(carInfo[1]); int enginePower = int.Parse(carInfo[2]); var engine = new Engine(engineSpeed, enginePower); int cargoWeight = int.Parse(carInfo[3]); string cargoType = carInfo[4]; var cargo = new Cargo(cargoWeight, cargoType); var tires = new Tire[4] { new Tire(double.Parse(carInfo[5]), int.Parse(carInfo[6])), new Tire(double.Parse(carInfo[7]), int.Parse(carInfo[8])), new Tire(double.Parse(carInfo[9]), int.Parse(carInfo[10])), new Tire(double.Parse(carInfo[11]), int.Parse(carInfo[12])), }; var car = new Car(model, engine, cargo, tires); cars.Add(car); } string command = Console.ReadLine(); if (command == "fragile") { var result = cars .Where(x => x.Cargo.Type == "fragile") .Where(x => x.Tires.Any(y => y.Pressure < 1)) .ToList(); foreach (var car in result) { Console.WriteLine(car); } } else if (command == "flamable") { var result = cars .Where(x => x.Cargo.Type == "flamable") .Where(x => x.Engine.Power > 250) .ToList(); foreach (var car in result) { Console.WriteLine(car); } } }
public static void Main(string[] args) { var n = int.Parse(Console.ReadLine()); var cars = new List <Car>(); for (int i = 0; i < n; i++) { var inputInfo = Console.ReadLine() .Split(" ", StringSplitOptions.RemoveEmptyEntries); var model = inputInfo[0]; var engineSpeed = int.Parse(inputInfo[1]); var enginPower = int.Parse(inputInfo[2]); var cargoWeight = int.Parse(inputInfo[3]); var cargoType = inputInfo[4]; var tires = new Tire[] { new Tire(double.Parse(inputInfo[5]), int.Parse(inputInfo[6])), new Tire(double.Parse(inputInfo[7]), int.Parse(inputInfo[8])), new Tire(double.Parse(inputInfo[9]), int.Parse(inputInfo[10])), new Tire(double.Parse(inputInfo[11]), int.Parse(inputInfo[12])), }; var engine = new Engine(engineSpeed, enginPower); var cargo = new Cargo(cargoWeight, cargoType); var car = new Car(model, engine, cargo, tires); cars.Add(car); } var command = Console.ReadLine(); if (command == "fragile") { cars = cars .Where(car => car.Cargo.CargoType == "fragile") .Where(car => (car.Tires.Any(p => p.Pressure < 1))) .ToList(); foreach (var car in cars) { Console.WriteLine(car.Model); } } else if (command == "flamable") { cars = cars .Where(car => car.Cargo.CargoType == "flamable") .Where(car => car.Engine.EnginePower > 250) .ToList(); foreach (var car in cars) { Console.WriteLine(car.Model); } } }
static void Main(string[] args) { List <RawData> cars = new List <RawData>(); int carsCount = int.Parse(Console.ReadLine()); for (int i = 0; i < carsCount; i++) { string[] carEntry = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries); //"{model} //{ engineSpeed} {enginePower} //{ cargoWeight} {cargoType} //{ tire1Pressure} {tire1Age} {tire2Pressure} {tire2Age} {tire3Pressure} {tire3Age} {tire4Pressure} {tire4Age} string model = carEntry[0]; int speed = int.Parse(carEntry[1]); int power = int.Parse(carEntry[2]); int weight = int.Parse(carEntry[3]); string cargoType = carEntry[4]; var engine = new Engine(speed, power); var cargo = new Cargo(weight, cargoType); var tire = new Tire[4] { new Tire(double.Parse(carEntry[5]), int.Parse(carEntry[6])), new Tire(double.Parse(carEntry[7]), int.Parse(carEntry[8])), new Tire(double.Parse(carEntry[9]), int.Parse(carEntry[10])), new Tire(double.Parse(carEntry[11]), int.Parse(carEntry[12])) }; RawData car = new RawData(model, engine, cargo, tire); cars.Add(car); } string type = Console.ReadLine(); if (type.ToLower() == "fragile") { foreach (var car in cars.Where(t => t.Cargo.Type == type)) { bool pressureCheck = false; for (int i = 0; i < car.Tires.Length; i++) { if (car.Tires[i].Pressure < 1) { pressureCheck = true; continue; } } if (pressureCheck) { Console.WriteLine(car.Model); } } } else { foreach (var car in cars.Where(t => t.Cargo.Type == type)) { if (car.Engine.Power > 250) { Console.WriteLine(car.Model); } } } foreach (var car in cars) { // car.FuelQuantity -= (20 * car.FuelConsumption); // if (car.Year >= 2017 && car.Engine.HorsePower > 330) // { // double pressureSum = 0; // foreach (var item in car.Tire) // { // pressureSum += item.Pressure; // } // if (pressureSum > 9 && pressureSum < 10) // { // 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}"); // } } }