From f18c44909c604a01bb0265d006a84223ee88d603 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 1 Mar 2026 18:33:54 +0200 Subject: feat(Week02): Add solutions --- Week02/Exercise05/main.cpp | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Week02/Exercise05/main.cpp (limited to 'Week02/Exercise05/main.cpp') diff --git a/Week02/Exercise05/main.cpp b/Week02/Exercise05/main.cpp new file mode 100644 index 0000000..a79d628 --- /dev/null +++ b/Week02/Exercise05/main.cpp @@ -0,0 +1,49 @@ +#include +#include "package.h" +#include "warehouse.h" + +int main() { + unsigned warehouseCount; + std::cin >> warehouseCount; + + Warehouse* warehouses = new Warehouse[warehouseCount]; + + for (unsigned i = 0; i < warehouseCount; ++i) { + std::cin >> warehouses[i].ID >> warehouses[i].packageCapacity; + warehouses[i].packages = new Package[warehouses[i].packageCapacity]; + } + + unsigned packagesCount; + std::cin >> packagesCount; + std::cin.ignore(); + + for (unsigned i = 0; i < packagesCount; ++i) { + Package p = readPackage(); + + + char warehouse; + std::cin >> warehouse; + std::cin.ignore(); + + for (unsigned i = 0; i < warehouseCount; ++i) { + if (warehouses[i].ID == warehouse) { + warehouses[i].storePackage(p); + break; + } + } + } + + for (unsigned i = 0; i < warehouseCount; ++i) { + std::cout << warehouses[i].ID << ' ' << warehouses[i].storedPackages << '/' << warehouses[i].packageCapacity << std::endl; + for (unsigned j = 0; j < warehouses[i].storedPackages; ++j) { + std::cout << warehouses[i].packages[j].ID << std::endl; + } + } + + for (unsigned i = 0; i < warehouseCount; ++i) { + delete[] warehouses[i].packages; + } + delete[] warehouses; + + return 0; +} -- cgit v1.3.1-23-gd82d