Cod sursa(job #1343417)

Utilizator patrusorinPatru Sorin patrusorin Data 15 februarie 2015 14:28:07
Problema Convertor Scor 100
Compilator cpp Status done
Runda rosedu_cdl_2015 Marime 1.49 kb
#include<iostream>
#include<fstream>
#include <string.h>
using namespace std;

int main()
{
char x[100],varza[1000000];
int gil=0,st_2pct=1,prim=1,i,dim,dimm=0,poz=0;

ifstream in("convertor.in");
std::ofstream out; out.open ("convertor.out");

while(in>>x)
    {
    if(gil%2!=0 && st_2pct==0 &&prim==1)
        {
        varza[poz]=' ';
        poz++;
        }
    if(gil%2!=0 && st_2pct==0 && prim==0) out.write(" ",1);
    if(gil%2!=0 && st_2pct==1 && prim==1) out.write(" ",1);

    dim=strlen(x);
    for(i=0;i<dim;i++ )
        {
        if(x[i]==':') st_2pct=0;
        if(x[i]==',') st_2pct=1;
        if(x[i]=='"') gil++;

    if(prim==0 && dimm==0)
        {
        out<<','<<"\n"<<varza;
        dimm++;
        }

    if(st_2pct==0 && prim==1&&x[i]!='"' && x[i]!=':' && x[i]!='{' && x[i]!='}' && x[i]!=']' && x[i]!='[')
        {
        varza[poz]=x[i];
        poz++;
        }
    if(st_2pct==1 && prim==1&&x[i]!='"' && x[i]!=':' && x[i]!='{' && x[i]!='}' && x[i]!=']' && x[i]!='[')
        out.write(x+i,1);
    if(st_2pct==0 && prim==0&&x[i]!='"' && x[i]!=':' && x[i]!='{' && x[i]!='}' && x[i]!=']' && x[i]!='[')
        out.write(x+i,1);

    if(x[i]==','&& prim==1)
        {
        varza[poz]=x[i];
        poz++;
        }
    if(x[i]==','&& prim==0)
        out.write(x+i,1);

    if(x[i]=='{' && prim!=1)
        out.write("\n",1);
    else if(x[i]=='}')prim=0;
         else if(x[i]==']')out.write(",",1);
        }
    }
return 0;
}