Cod sursa(job #1359633)

Utilizator Sergiu121Sergiu Weisz Sergiu121 Data 25 februarie 2015 00:30:19
Problema Convertor Scor 90
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.56 kb
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	char s;
	FILE *f, *g;

	f = fopen("convertor.in","rt");
	g = fopen("convertor.out","wt");

	s = 'a';
	while(s != '}')
	{
		s = fgetc(f);
		while(s != '"')
		{
			s = fgetc(f);
		}
		s = fgetc(f);
		while(s != '"')
		{
			fprintf(g, "%c", s);
			s = fgetc(f);
		}
		while(s != ',' && s!= '}')
			s = fgetc(f);
        fprintf(g, ",");
	}
	fprintf(g, "\n");

	fseek(f, 0, 0);

	while(s != ']')
	{
        while(s != ':')
            s = fgetc(f);
        while(s != '"' && s != '1' && s != '2' && s != '3' && s != '4' && s != '5' && s != '6' && s != '7' && s != '8' && s != '9' && s != '0')
            s = fgetc(f);
        if(s == '"')
        {
            s = fgetc(f);
            while(s != '"')
            {
                fprintf(g, "%c", s);
                s = fgetc(f);
            }
            fprintf(g, ",");
        }
        if(s == '1' || s == '2' || s == '3' || s == '4' || s == '5' || s == '6' || s == '7' || s == '8'  || s == '9' || s == '0')
        {
            while(s != ' ' && s != ',' && s != '}' && s != '\n')
            {
                fprintf(g, "%c", s);
                s = fgetc(f);
            }
            fprintf(g, ",");
        }

        while(s != ',' && s != '}')
            s = fgetc(f);

        if(s == '}')
        {
            while(s != ']' && s != '{')
                s = fgetc(f);
            if(s == '{')
                fprintf(g, "\n");
            if(s == ']')
            {
                fprintf(g, "\n");
                return 0;
            }
        }
	}

	return 0;
}