Cod sursa(job #1345304)

Utilizator gabriel93Robu Gabriel gabriel93 Data 17 februarie 2015 15:20:07
Problema Convertor Scor 50
Compilator cpp Status done
Runda rosedu_cdl_2015 Marime 1.46 kb
#include <iostream>
#include <fstream>
#include <string>
#include <map>
#include <vector>

using namespace std;

int main()
{
    multimap<string,string> myMap;
    vector<string> Values,Keys;
    fstream fin,fout;
    fin.open("convertor.in",fstream::in);
    fout.open("convertor.out",fstream::out);
    string s;
    bool ValuesFlag = true;
    int nKeys = 0;
    do {
        getline(fin,s,'}');
        string s2,key;
        bool flag = true;

        for(size_t i=0;i<s.size();++i)
            if( (s[i]>='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z') || (s[i]>='0' && s[i]<='9') || (!s2.empty() && s[i]==' ') ) {
                s2.push_back(s[i]);
            }
            else if(!s2.empty()) {
                if(flag ) {
                    if(ValuesFlag) {
                        fout<<s2<<',';
                        nKeys++;
                    }
                    s2.clear();
                    flag = false;
                }
                else if(!flag){
                    Values.push_back(s2);
                    s2.clear();
                    flag = true;
                }
                s2.clear();
            }
        ValuesFlag = false;
    }while(!fin.eof());

   // for(size_t i=0;i<Keys.size();++i)
   //     fout<<Keys[i]<<',';
    fout<<endl;

    for(size_t i=0;i<Values.size();++i) {
        fout<<Values[i]<<',';
        if(i%nKeys == nKeys-1)
            fout<<endl;
    }

    return 0;
}