Задача 7-ма - Miners, въпрос относно извеждането
Здравейте, имам следния въпрос към последната задача от последното домашно.Работил съм с map за да запазвам имената и съответно стойностите на видовете ресурси, но срещам сериозни затруднения при извеждането на данните, както са в примерите, а имено по ред на input-а.Та, моля за насоки как да сортирам map по реда на input-а и това всъщност въобще възможно ли е или трябва да използвам някаква друга структура от данни.По - долу прилагам кода, който съм писал по задачата.Благодаря предварително! :)
#include <iostream>
#include <map>
using namespace std;
int main(){
    map<string, int> resources;
    string currResource;
    int currNum;
    while(cin >> currResource){
        if(currResource == "stop")break;
        cin >> currNum;
        if(resources.find(currResource) != resources.end() && currResource != "stop"){
            resources[currResource] += currNum;
        }else if(resources.find(currResource) == resources.end() && currResource != "stop"){
            resources[currResource] = currNum;
        }
    }
    for(auto i = resources.begin();i != resources.end();i++){
        cout << i->first << " -> " << i->second<<endl;
    }
    return 0;
}
        
Не се получава, да, сменя реда на изходните данни, но пак не съвпадат с изхода в условието на задачата.
Пробвай с vector<> и в него да запазваш pair<key,value>, по този начин ще можеш да ги принтираш на конзолата в реда в който си ги добавил.