Cod sursa(job #1361768)

Utilizator Alexxino7Alexandru Popescu Alexxino7 Data 25 februarie 2015 23:36:43
Problema Convertor Scor 100
Compilator cpp Status done
Runda rosedu_cdl_2015 Marime 1.67 kb
#include <fstream>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    ifstream fin("convertor.in");
    ofstream fout("convertor.out");

    string sir, aux;

    while(!fin.eof()){
        getline(fin, aux);
        sir.append(aux);
    }

    string::iterator it, ret, v1;
    int nr = 0;

    for(it = sir.begin(); it != sir.end(); it++){

       if(*it == '{'){
            while(*it != '}'){

                if(*it == ':'){
                    ret = it;
                    while(*it != '"') it--;

                    aux.clear();
                    it--;
                    v1 = it;
                    while(*it != '"') it--;

                    aux.append(it+1, v1+1);

                    fout << aux << ",";

                    nr++;
                    it = ret;
                }
                it++;
            }
            break;
        }
    }
    fout << '\n';

    int crt = 0;
    for(it = sir.begin(); it < sir.end(); it++){
        if(*it == ':'){
            it++;
            crt++;

            while(*it == ' ') it++;

            if(*it != '"'){
                v1 = it;
                while(isdigit(*it)) it++;
                aux.clear();
                aux.append(v1, it);
                fout << aux << ",";
            }
            else{
                v1 = it;
                it++;
                while(*it != '"') it++;
                aux.clear();
                aux.append(v1 + 1, it);
                fout << aux << ",";
            }
        }

        if(crt == nr){
            fout << '\n';
            crt = 0;
        }
    }

    return 0;
}