Cod sursa(job #1359465)

Utilizator filip.munteanuFilip Munteanu filip.munteanu Data 24 februarie 2015 22:48:30
Problema Convertor Scor 90
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.17 kb
#include <stdio.h>
#include <stdlib.h>

FILE *f_in, *f_out;

int main()
{
	char c, *sir = (char *)malloc(1024*1024);
	int k = 0, i = 0;
	f_in = fopen("convertor.in", "rt");
	f_out = fopen("convertor.out", "wt");
	c = fgetc(f_in);
	while(c != '}' && c != EOF)
	{
		if(c == ',')
			k = 0;
		else
		{
			if(c == '\"')
			{
				c = fgetc(f_in);
				if(k == 0)
				{
					while(c != '\"')
					{
						fputc(c, f_out);
						c = fgetc(f_in);
					}
					fputc(',', f_out);
				}
				else
					while(c != '\"')
						c = fgetc(f_in);
				k = 1;
			}
		}		
		c = fgetc(f_in);	
	}
	if(k == 1)
		fputc('\n', f_out);
	fclose(f_in);
	f_in = fopen("convertor.in", "rt");
	c = fgetc(f_in);
	k = 1;
	while(c != EOF)
	{
		if(c == ':')
			k = 0;
		else
		{
			if(k == 0 && c == '\"')
			{
				c = fgetc(f_in);
				while(c != '\"')
				{
					fputc(c, f_out);
					c = fgetc(f_in);
				}
				fputc(',', f_out);
				k = 1;
			}
			else
				if((c <= '9') && (c >= '0') && k == 0)
				{
					while((c <= '9') && (c >= '0'))
					{
						fputc(c, f_out);
						c = fgetc(f_in);
					}
					fputc(',', f_out);
					k = 1;
				}
				else
					if(c == '}')
						fputc('\n', f_out);
		}		
		c = fgetc(f_in);	
	}
	return 0;
}