Cod sursa(job #1348765)

Utilizator gabriel93Robu Gabriel gabriel93 Data 19 februarie 2015 20:53:14
Problema Convertor Scor 0
Compilator cpp Status done
Runda rosedu_cdl_2015 Marime 1.16 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;


void parse(string s, vector<string> keys, vector<string> values){
    int i = 0;
	do {
		string key;

        i = s.find('"',i);
		key = s.substr(i+1,s.find('"',i+1)-i-1);
		if (!key.empty()){
			cout<<key<<',';
			i = s.find(',',i);
		}
	}while(i != string::npos);
    cout << endl;

	i = s.find(':',0);
	while( i != string::npos) {
        string key;

        i = s.find_first_not_of(" \n",i+1);
        if(s[i] == '"')
            key = s.substr(i+1,s.find('"',i+1)-i-1);
        else
            key = s.substr(i,s.find_first_of(",\n ",i+1)-i);
        cout << key <<',';
        i = s.find(':',i);
	}
	cout << endl;

}


int main(){
	ifstream f("convertor.in");
	ofstream g("convertor.out");

	vector<string> keys;
	vector<string> values;
	string sir;
	while(!f.eof()){ // To get you all the lines.

		getline(f,sir,'}');
	    //cout<<sir<<endl;
	    int a=sir.find_last_of("]");
	    if ( !sir.empty() && a == string::npos ){
	       	parse(sir, keys, values);
	     //   cout<<sir<<endl;
	    }

    }
	f.close();
	g.close();

	return 0;
}