Cod sursa(job #1342042)

Utilizator CatalinOlaruCatalin Olaru CatalinOlaru Data 13 februarie 2015 14:27:58
Problema Convertor Scor 90
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.34 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);
					while(c!='"')
					{	
						
						if(i%2==1)fwrite(&c,1,1,out);
						fread(&c,1,1,f);
					}
					if(i%2==1)fwrite(",",1,1,out);
					
				}
				else if(isdigit(c))
				{	i++;
					while(isdigit(c))
					{
						if(i%2==1)fwrite(&c,1,1,out);
						fread(&c,1,1,f);
					}
					if(i%2==1)fwrite(",",1,1,out);
				}
			}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);
					while(c!='"')
					{	
						
						if(i%2==0)fwrite(&c,1,1,out);
						fread(&c,1,1,f);
					}
					if(i%2==0)fwrite(",",1,1,out);
					
				}
				else if(isdigit(c))
				{	i++;
					while(isdigit(c))
					{
						if(i%2==0)fwrite(&c,1,1,out);
						fread(&c,1,1,f);
					}
					if(i%2==0)fwrite(",",1,1,out);
				}
			}
		fwrite("\n",1,1,out);
		}
	}
}