diff options
[SDP/P/exa] Removed hard coded example and added user input reading
1 files changed, 31 insertions, 20 deletions
| -rw-r--r-- | Year 2/Structures and data algorithms/Project/exa/main.cpp | 51 |
diff --git a/Year 2/Structures and data algorithms/Project/exa/main.cpp b/Year 2/Structures and data algorithms/Project/exa/main.cpp index 88bf9ce..0beae8b 100644 --- a/Year 2/Structures and data algorithms/Project/exa/main.cpp +++ b/Year 2/Structures and data algorithms/Project/exa/main.cpp @@ -3,30 +3,41 @@ #include <iostream> int main() { - SkipList<std::string> cities; - cities.push("Sofia"); - cities.push("Pazardzhik"); - cities.push("Plovdiv"); - cities.push("Dimitrovgrad"); - cities.push("StaraZagora"); - cities.push("NovaZagora"); - cities.push("Yambol"); - cities.push("Karnobat"); - cities.push("Burgas"); + std::cout << "Брой на градовете през които преминава пътническия влак: "; + unsigned n = 0; + std::cin >> n; - cities.addSkip("Sofia", "Plovdiv"); - cities.addSkip("Plovdiv", "NovaZagora"); - cities.addSkip("Dimitrovgrad", "NovaZagora"); - cities.addSkip("StaraZagora", "Yambol"); - cities.addSkip("NovaZagora", "Burgas"); + std::cout << "Имената на градовете: "; + SkipList<std::string> cities; + std::string temp1; + while (n-- > 0) { + std::cin >> temp1; + cities.push(temp1); + } - cities.print(std::cout) << std::endl; + std::cout << "Брой на директните връзки: "; + std::cin >> n; + std::cout << "Директни връзки:" << std::endl; + std::string temp2; + while (n-- > 0) { + std::cin >> temp1 >> temp2; + cities.addSkip(temp1, temp2); + } - std::deque<std::string> locs = { "Plovdiv", "StaraZagora", "Yambol", "Burgas" }; - std::deque<std::string> path = cities.shortestSublistIncluding(locs); + std::cout << "Брой на градовете на Аня и Ванката: "; + std::cin >> n; + std::cout << "Градовете на Аня и Ванката: "; + std::deque<std::string> visitCities; + while (n-- > 0) { + std::cin >> temp1; + visitCities.push_back(temp1); + } + visitCities.push_back(cities.back()); - for (auto loc : path) { - std::cout << loc << ", "; + std::cout << "Решение:" << std::endl; + std::deque<std::string> visited = cities.shortestSublistIncluding(visitCities); + for (auto city : visited) { + std::cout << city << ", "; } std::cout << std::endl; } |
