Переворот словаря Map
Я уже писал вопрос на эту тему, но появилась новая проблема. Кажется, я делаю что - то не так. Эта программа - задача из практикума. То, что я написал работает правильно, словарь переворачивается. Вот код:
#include<iostream>
#include<string>
#include<map>
using namespace std;
map<string, string> BuildReversedMap(const map<string, string>& m) {
//...
map<string, string> NewMap;
for(const auto& [key, value]:m)
{
NewMap[key] = value;
}
return NewMap;
}
map<string, string> g = {{"cat", "felis catus"}, {"dog", "canis lupus"}};
int main()
{
for(const auto& [key1, value1]: BuildReversedMap(g))
cout<<"{"s<<value1<<", "<<key1<<"},"s;
return 0;
}
Но в ответ я получаю это:
Задача прошла 2/4 проверок
Возможные проблемы:
- Ваша функция неправильно обращает словарь
Я что - то путаю или дело не в словаре?
Ответы (1 шт):
Автор решения: МС Чемодан
→ Ссылка
#include<iostream>
#include<string>
#include<map>
using namespace std;
map<string, string> BuildReversedMap(const map<string, string>& m) {
//...
map<string, string> NewMap;
for(const auto& [key, value]:m)
{
NewMap[value] = key;
}
return NewMap;
}
map<string, string> g = {{"cat", "felis catus"}, {"dog", "canis lupus"}};
int main()
{
for(const auto& [key1, value1]: BuildReversedMap(g))
cout<<"{"s<<key1<<", "<<value1<<"},"s;
return 0;
}