Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace demo
- {
- class Program
- {
- static void Main(string[] args)
- {
- //КАМИОНИ
- string trucksInput = Console.ReadLine();
- //"BigTruck=22;Truck=15;LitlleTruck=7;" -> ["BigTruck=22", "Truck=15", "LitlleTruck=7"]
- List<Truck> trucks = new List<Truck>();
- //1. разделяме всички камиони
- string[] allTrucksData = trucksInput.Split(";"); //["BigTruck=22", "Truck=15", "LitlleTruck=7"]
- foreach (string truckData in allTrucksData)
- { //truckData = "BigTruck=22" -> = -> ["BigTruck", "22"]
- //2. за всеки камион -> име и товаримостта
- string name = truckData.Split("=")[0];
- int freightness = int.Parse(truckData.Split("=")[1]);
- //3. създаваме обект и го слагаме в списъка
- Truck truck = new Truck(name, freightness);
- trucks.Add(truck);
- }
- //ТОВАРИ
- string freightsInput = Console.ReadLine();
- //"Rock=18;Silk=12;Water=3"
- List<Freight> freights = new List<Freight>();
- //1. разделяме всички товари
- string[] allFreightsData = freightsInput.Split(";"); // ["Rock=18", "Silk=12", "Water=3"]
- //2. за всеки товар -> име и тегло
- foreach(string freightData in allFreightsData)
- {
- //freightData = "Rock=18" -> = -> ["Rock", "18"]
- string name = freightData.Split("=")[0];
- int weight = int.Parse(freightData.Split("=")[1]);
- //3. създаваме обект (товар) и го слагаме в списъка
- Freight freight = new Freight(name, weight);
- freights.Add(freight);
- }
- //Получаваме команди докато не получим команда END
- string command = Console.ReadLine();
- while (command != "END")
- {
- //command = "BigTruck Rock" -> split(" ") -> ["BigTruck", "Rock"]
- string truckName = command.Split(" ")[0];
- string freightName = command.Split(" ")[1];
- //тегло на товара
- int freightWeight = 0;
- foreach(Freight freight in freights)
- {
- if(freight.Name == freightName)
- {
- freightWeight = freight.Weight;
- }
- }
- foreach (Truck truck in trucks)
- {
- if (truck.Name == truckName)
- {
- //да мога да добавя товар -> товаримостта >= теглото на товара
- if (truck.Freightness >= freightWeight)
- {
- truck.Freights.Add(new Freight(freightName, freightWeight));
- //намалим товаримостта
- truck.Freightness = truck.Freightness - freightWeight;
- Console.WriteLine($"{truckName} loaded {freightName}");
- }
- else //да не мога да доабвя товара
- {
- Console.WriteLine($"{truckName} can't loaded {freightName}");
- }
- }
- }
- command = Console.ReadLine();
- }
- //печатаме името на камиона -> списъка с товарите
- foreach(Truck truck in trucks)
- {
- //ако има товари
- if(truck.Freights.Count > 0)
- {
- List<string> freightNames = new List<string>();
- foreach (Freight freight in truck.Freights)
- {
- freightNames.Add(freight.Name);
- }
- Console.Write(truck.Name + " - " + string.Join(", ", freightNames));
- }
- //ако няма товари
- else
- {
- Console.WriteLine(truck.Name + " - Nothing loaded");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment