Pagini recente » Cod sursa (job #52132) | Cod sursa (job #1349588) | Cod sursa (job #34459) | Cod sursa (job #1355923) | Cod sursa (job #1360390)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *in,*out;
char read;
int ok,nr,nr2,ok2,ok3,first,i;
char *sir = malloc(1100*sizeof(char));
ok = 0;
ok2 = 0;
ok3 = 0;
nr = 1;
nr2 = 0;
first = 0;
i = 0;
in = fopen("convertor.in","r");
out = fopen("convertor.out","w");
first = 0;
while((read = fgetc(in)) != EOF)
{
if(first == 0)
{
if(read == '}')
{
fprintf(out,"\n");
fprintf(out,"%s\n",sir);
first = 1;
nr = 0;
ok = 0;
ok2 = 0;
}
else
if(read == '"' && ok == 0)
{
ok = 1;
}
else
if(read == '"' && ok == 1)
{
ok = 0;
if(nr == 1)
fprintf(out,",");
nr = 0;
}
else
if(read == ',' && nr == 0)
nr = 1;
else
if(read != '"' && ok == 1 && nr == 1)
{
fprintf(out,"%c",read);
}
if(read == ',' && ok2 == 0)
{
nr2 = 0;
}
else
if(read == ':')
{
nr2 = 1;
}
else
if(read == '"' && nr2 == 1 && ok3 == 0)
{
ok3 = 1;
}
else
if(read == '"' && ok3 == 1)
{
ok3 = 0;
if(nr2 == 1)
{
sir[i] = ',';
i++;
}
nr2 = 0;
}
else
if(read != '"' && nr2 == 1 && ok3 == 1)
{
sir[i] = read;
i++;
}
else
if(read == '0' || read == '1' || read =='2' || read == '3' || read == '4' || read =='5' || read == '6' || read == '7' || read =='8' || read == '9')
{
if(nr2 == 1 && ok2 == 0)
{
ok2 = 1;
}
if(nr2 == 1 && ok2 == 1)
{
sir[i] = read;
i++;
}
}
else
if(read == ',' && ok2 == 1)
{
ok2 = 0;
sir[i] = read;
i++;
nr2 = 0;
}
}
else
{
if(read == '}')
{
nr = 0;
fprintf(out,"\n");
}
else
if(read == ',' && ok2 == 0)
{
nr = 0;
}
else
if(read == ':')
{
nr = 1;
}
else
if(read == '"' && nr == 1 && ok == 0)
{
ok = 1;
}
else
if(read == '"' && ok == 1)
{
ok = 0;
if(nr == 1)
fprintf(out,",");
nr = 0;
}
else
if(read != '"' && nr == 1 && ok == 1)
{
fprintf(out,"%c",read);
}
else
if(read == '0' || read == '1' || read =='2' || read == '3' || read == '4' || read =='5' || read == '6' || read == '7' || read =='8' || read == '9')
{
if(nr == 1 && ok2 == 0)
{
ok2 = 1;
}
if(nr == 1 && ok2 == 1)
{
fprintf(out,"%c",read);
}
}
else
if(read == ',' && ok2 == 1)
{
ok2 = 0;
fprintf(out,",");
nr = 0;
}
}
}
fclose(in);
fclose(out);
}