Cod sursa(job #1362838)

Utilizator Tokumei_no_KageFMI NEIMPORTANT Tokumei_no_Kage Data 26 februarie 2015 15:55:59
Problema Convertor Scor 80
Compilator cpp Status done
Runda rosedu_cdl_2015 Marime 1.33 kb
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;

char line[1050];
int dimline,glm=-1,dpv=1;
int valid=1;

int main()
{
    FILE *f=freopen("convertor.in","r",stdin);
    freopen("convertor.out","w",stdout);

do
{
 if(!valid)break;

    gets(line);
// line este citit
dimline=strlen(line);
for(int i=0; i<dimline && valid; i++)
{
    if(line[i]=='"') { if(glm==1 && dpv==1){glm*=-1;printf(","); } else glm*=-1; }
    else{

    if(glm==1 && dpv==1)printf("%c",line[i]);
    if(glm==-1){

        if(line[i]=='}'){printf("\n"); valid=0;  }
        if(valid && line[i]==':' || line[i]==',')dpv*=-1;

    }

    }

}
}
while(!feof(f) && valid);
fclose(f);
f=freopen("convertor.in","r",stdin);

dpv=1; glm=-1;

do
{
    gets(line);
// line este citit
dimline=strlen(line);
for(int i=0; i<dimline; i++)
{
    if(line[i]=='"') { if(glm==1 && dpv==-1){glm*=-1;printf(","); } else glm*=-1; }
    else{

    if(glm==1 && dpv==-1 )printf("%c",line[i]);
    if(glm==-1){
if(isdigit(line[i]) && dpv==-1){ printf("%c",line[i]); }
 if(isdigit(line[i]) && dpv==-1 && !isdigit(line[i+1])) { printf(","); }
        if(line[i]=='}'){printf("\n"); }
        if(line[i]==':' || line[i]==',')dpv*=-1;

    }

    }

}
}
while(!feof(f));







    return 0;
}