Cod sursa(job #1345400)

Utilizator RaduDoStochitoiu Radu RaduDo Data 17 februarie 2015 16:30:23
Problema Convertor Scor 100
Compilator c Status done
Runda rosedu_cdl_2015 Marime 0.94 kb
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
	FILE *f, *f2;
	char c[2097152], *p, *p2, ch;
	int nr, nr2;
	f = fopen("convertor.in", "r");
	f2 = fopen("convertor.out", "w");
	fread(&c, 1, 2097152, f);
	p = c;
	while(1)
	{
		if(*p == '"')
		{
			nr++;
			p++;
			while(*p != '"')
				fwrite(&(*p++), 1, 1, f2);
			ch = ',';
			fwrite(&ch, 1, 1, f2);
			while(*p != ',' && *p != '}')	p++;
		}
		if(*p == '}') break;
		p++;
	}
	ch = '\n';
	fwrite(&ch, 1, 1, f2);
	
	p = strchr(c, ':');
	while(p != NULL)
	{
		nr2++; if(nr2 > nr)
		{
			nr2 = 1;
			ch = '\n';
			fwrite(&ch, 1, 1, f2);
		}
		p2 = p;
		while(*p2 != '"' && (*p2 < '0' || *p2 > '9'))
			p2++;
		if(*p2 == '"')
			while(*(++p2) != '"')
				fwrite(&(*p2), 1, 1, f2);
		else
			while(*p2 >= '0' && *p2 <= '9')
				fwrite(&(*p2++), 1, 1, f2);
		ch = ',';
		fwrite(&ch, 1, 1, f2);
		p = strchr(c + (p-c)+1, ':');
	}
	return 0;
}