Pagini recente » Cod sursa (job #436349) | Cod sursa (job #34460) | Cod sursa (job #1688998) | Cod sursa (job #2197011) | Cod sursa (job #1341573)
#include<iostream>
#include<stdio.h>
#include<fstream>
#include <string.h>
using namespace std;
int main()
{char x[1000];
ifstream in("convertor.in");
ofstream out("convertor.out");
int ko=0,gil=0,st_2pct=1,prim=1;
int term=1,dim;
while(in>>x && term==1)
{
if(gil==1 && st_2pct==1) //pune spatii intre cuvinele din gilimele "pt hipsteri si chestii"
out<<" ";
dim=strlen(x);
for(int i=0;i<dim;i++ )
{
if(x[0]=='{'||x[1]=='{')//marcam casuntem in interiorul unui rand amintalnit {
ko=1;
if(x[i]==':')
st_2pct=0;
if(x[i]==',')
{
st_2pct=1;
}
if(x[i]=='"')
gil++;
if(gil==2)
gil=0; //gil==1 inseamna ca suntem in interiorul unui cuvant
if(x[i]!='"' && x[i]!=':' && st_2pct==1 &&x[i]!='{'&&x[i]!='}'&&x[i]!=']'&&x[i]!='[')
out<<x[i];
if(x[i]=='}')term=0;
}
}out<<",\n";
in.clear();
in.seekg(0, ios::beg);
st_2pct=1;
while(in>>x)
{
printf("%s\n",x);
if(gil==1 && st_2pct==0) //pune spatii intre cuvinele din gilimele "pt hipsteri si chestii"
out<<" ";
dim=strlen(x);
for(int i=0;i<dim;i++ )
{
if(x[0]=='{'||x[1]=='{')//marcam casuntem in interiorul unui rand amintalnit {
ko=1;
if(x[i]==':')
st_2pct=0;
if(x[i]==',')
{
st_2pct=1;
}
if(x[i]=='"')
gil++;
if(gil==2)
gil=0; //gil==1 inseamna ca suntem in interiorul unui cuvant
if(x[i]!='"' && x[i]!=':' && st_2pct==0 &&x[i]!='{'&&x[i]!='}'&&x[i]!=']'&&x[i]!='[')
out<<x[i];
if(x[i]==',')
out<<x[i];
if(x[i]=='{' && prim!=1) //trece pe randul urmator cand intalneste }
{
out<<"\n";
ko=0;
} else if(x[i]=='{')prim=0;
}
}
out<<",";
in.close();out.close();
return 0;
}