Cod sursa(job #1354542)
Utilizator | Data | 21 februarie 2015 21:13:47 | |
---|---|---|---|
Problema | Convertor | Scor | 0 |
Compilator | c | Status | done |
Runda | rosedu_cdl_2015 | Marime | 2.75 kb |
#include <stdio.h>
int main()
{
char a,b[20][20],c;
int i=0,j=0;
FILE *f_in,*f_out;
f_in=fopen("convertor.in","r");
f_out=fopen("convertor.out","w");
fscanf(f_in,"%c",&a);
while(a!='}')
{
if(a=='"')
{
fscanf(f_in,"%c",&a);
while(a!='"')
{
fprintf(f_out,"%c",a);
fscanf(f_in,"%c",&a);
}
fscanf(f_in,"%c",&a);
fprintf(f_out,",");
while(a!=':')
fscanf(f_in,"%c",&a);
fscanf(f_in,"%c",&a);
while(a==' ')
fscanf(f_in,"%c",&a);
if(a=='"')
{
fscanf(f_in,"%c",&a);
while(a!='"')
{
b[i][j]=a;
j++;
fscanf(f_in,"%c",&a);
}
fscanf(f_in,"%c",&a);
b[i][j]=',';
j++;
b[i][j]='\0';
}
else
{
while(a!=',')
{
b[i][j]=a;
j++;
fscanf(f_in,"%c",&a);
}
b[i][j]=a;
j++;
fscanf(f_in,"%c",&a);
b[i][j]='\0';
}
i++;
j=0;
}
else
{
while(a!='"' && a!='}')
{
fscanf(f_in,"%c",&a);
}
}
}
fprintf(f_out,"\n");
for(j=0;j<i;j++)
fprintf(f_out,"%s",b[j]);
while(a!=']' || !feof(f_in))
{
if(a!='{')
fscanf(f_in,"%c",&a);
else
{
fprintf(f_out,"\n");
while(1)
{
while(a!=':' && a!='}')
fscanf(f_in,"%c",&a);
if(a=='}')
break;
fscanf(f_in,"%c",&a);
while(a==' ')
fscanf(f_in,"%c",&a);
if(a=='"')
{
fscanf(f_in,"%c",&a);
while(a!='"')
{
fprintf(f_out,"%c",a);
fscanf(f_in,"%c",&a);
}
fprintf(f_out,",");
}
else
{
while(a!=',')
{
fprintf(f_out,"%c",a);
fscanf(f_in,"%c",&a);
}
fprintf(f_out,"%c",a);
}
}
}
}
fclose(f_in);
fclose(f_out);
return 0;
}