Cod sursa(job #1343460)
Utilizator | Data | 15 februarie 2015 15:01:27 | |
---|---|---|---|
Problema | Convertor | Scor | 90 |
Compilator | c | Status | done |
Runda | rosedu_cdl_2015 | Marime | 3.31 kb |
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
int main()
{
FILE * f;
f=fopen("convertor.in","rt");
FILE * out;
out=fopen("convertor.out","wt");
fseek(f, 0, SEEK_END);
int size=ftell(f);
fseek(f,0,0);
char c;
fread(&c,1,1,f);
int i=0,j=0;
j=size;
while(ftell(f)<size)
{
fread(&c,1,1,f);
if(c=='{')
{
i=0;
while(c!='}')
{
fread(&c,1,1,f);
if(c=='"')
{
i++;
fread(&c,1,1,f);
if((i & 1) > 0)
{
while(c!='"')
{
fwrite(&c,1,1,out);
fread(&c,1,1,f);
}
fwrite(",",1,1,out);
}
else
{
while(c!='"')
{
fread(&c,1,1,f);
}
}
}
else if(isdigit(c))
{ i++;
if((i & 1) > 0)
{
while(isdigit(c))
{
fwrite(&c,1,1,out);
fread(&c,1,1,f);
}
fwrite(",",1,1,out);
}
else
{
while(isdigit(c))
{
fread(&c,1,1,f);
}
}
}
}size=ftell(f);
fwrite("\n",1,1,out);
}
}
size=j;
fseek(f,0,0);
while(ftell(f)<size)
{
fread(&c,1,1,f);
if(c=='{')
{
i=0;
while(c!='}')
{
fread(&c,1,1,f);
if(c=='"')
{
i++;
fread(&c,1,1,f);
if((i & 1) == 0)
{
while(c!='"')
{
fwrite(&c,1,1,out);
fread(&c,1,1,f);
}
fwrite(",",1,1,out);
}
else
{
while(c!='"')
{
fread(&c,1,1,f);
}
}
}
else if(isdigit(c))
{ i++;
if((i & 1) == 0)
{
while(isdigit(c))
{
fwrite(&c,1,1,out);
fread(&c,1,1,f);
}
fwrite(",",1,1,out);
}
else
{
while(isdigit(c))
{
fread(&c,1,1,f);
}
}
}
}
fwrite("\n",1,1,out);
}
}
}