Cod sursa(job #1357121)
Utilizator | Data | 23 februarie 2015 19:36:49 | |
---|---|---|---|
Problema | Convertor | Scor | 20 |
Compilator | c | Status | done |
Runda | rosedu_cdl_2015 | Marime | 2.93 kb |
#include <stdio.h>
#include <ctype.h>
int main()
{
char a,b[10500][100];
int i=0,j=0,x,y=0;
FILE *f_in,*f_out;
f_in=fopen("convertor.in","r");
f_out=fopen("convertor.out","w");
x=fscanf(f_in,"%c",&a);
while(a!='}')
{
if(a=='"')
{
x=fscanf(f_in,"%c",&a);
while(a!='"')
{
fprintf(f_out,"%c",a);
x=fscanf(f_in,"%c",&a);
}
x=fscanf(f_in,"%c",&a);
fprintf(f_out,",");
while(a!=':')
x=fscanf(f_in,"%c",&a);
x=fscanf(f_in,"%c",&a);
while(a!='"' && isdigit(a)==0)
x=fscanf(f_in,"%c",&a);
if(a=='"')
{
x=fscanf(f_in,"%c",&a);
while(a!='"')
{
b[i][j]=a;
j++;
x=fscanf(f_in,"%c",&a);
}
x=fscanf(f_in,"%c",&a);
b[i][j]=',';
j++;
b[i][j]='\0';
}
else
{
while(isdigit(a))
{
b[i][j]=a;
j++;
x=fscanf(f_in,"%c",&a);
}
b[i][j]=',';
j++;
//x=fscanf(f_in,"%c",&a);
b[i][j]='\0';
}
i++;
j=0;
}
else
{
while(a!='"' && a!='}')
{
x=fscanf(f_in,"%c",&a);
}
}
}
fprintf(f_out,"\n");
for(j=0;j<i;j++)
fprintf(f_out,"%s",b[j]);
while(a!=']' && y<10)
{
if(a!='{')
x=fscanf(f_in,"%c",&a);
else
{
fprintf(f_out,"\n");
while(1)
{
while(a!=':' && a!='}')
x=fscanf(f_in,"%c",&a);
if(a=='}')
{
y++;
break;
}
x=fscanf(f_in,"%c",&a);
while(a!='"' && isdigit(a)==0)
x=fscanf(f_in,"%c",&a);
if(a=='"')
{
x=fscanf(f_in,"%c",&a);
while(a!='"')
{
fprintf(f_out,"%c",a);
x=fscanf(f_in,"%c",&a);
}
fprintf(f_out,",");
}
else
{
while(isdigit(a))
{
fprintf(f_out,"%c",a);
x=fscanf(f_in,"%c",&a);
}
fprintf(f_out,",");
}
}
}
}
fclose(f_in);
fclose(f_out);
return 0;
}