Pagini recente » Istoria paginii info-oltenia-2018 | Cod sursa (job #456766) | Monitorul de evaluare | Cod sursa (job #1340705) | Cod sursa (job #1360176)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *in,*out;
char read;
int ok,nr,ok2;
ok = 0;
nr = 1;
in = fopen("convertor.in","r");
out = fopen("convertor.out","w");
while((read = fgetc(in)) != EOF)
{
if(read == '}')
break;
if(read == '"' && ok == 0)
{
ok = 1;
continue;
}
if(read == '"' && ok == 1)
{
ok = 0;
if(nr == 1)
fprintf(out,",");
nr = 0;
continue;
}
if(read == ',')
nr = 1;
if(read != '"' && ok == 0)
continue;
if(read != '"' && ok == 1 && nr == 1)
{
fprintf(out,"%c",read);
continue;
}
}
fprintf(out,"\n");
fclose(in);
in = fopen("convertor.in","r");
nr = 0;
ok = 0;
ok2 = 0;
int i = 0;
while((read = fgetc(in)) != EOF)
{
i++;
printf("pas %d: read = %c ok = %d nr = %d ok2 = %d\n",i,read,ok,nr,ok2);
if(read == '}')
{
nr = 0;
fprintf(out,"\n");
continue;
}
if(read == ',' && ok2 == 0)
{
nr = 0;
continue;
}
if(read == ':')
{
nr = 1;
continue;
}
if(read == '"' && nr == 1 && ok == 0)
{
ok = 1;
continue;
}
if(read == '"' && ok == 1)
{
ok = 0;
if(nr == 1)
fprintf(out,",");
nr = 0;
continue;
}
if(read != '"' && nr == 1 && ok == 1)
{
fprintf(out,"%c",read);
continue;
}
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(read == '0' || read == '1' || read =='2' || read == '3' || read == '4' || read =='5' || read == '6' || read == '7' || read =='8' || read == '9')
if(nr == 1 && ok2 == 1)
{
fprintf(out,"%c",read);
continue;
}
if(read == ',' && ok2 == 1)
{
ok2 = 0;
fprintf(out,",");
nr = 0;
continue;
}
}
fclose(in);
fclose(out);
}