Cod sursa(job #1349645)

Utilizator alex95panPandelea Alexandru alex95pan Data 20 februarie 2015 12:59:43
Problema Convertor Scor 70
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.37 kb
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
	FILE *f=freopen("convertor.in","rt",stdin);
	FILE *out=freopen("convertor.out","wt",stdout);
 	char tmp,t,buf[1025],size=0;
	int i,campuri=0;
	scanf("%c",&tmp);
	while(tmp != '}')
	{
		scanf("%c", &tmp);
		if (tmp == '{')
			while (tmp != '}')
			{
				t=0;
				scanf("%c",&tmp);			
				if (tmp == '"')
				{
					size=0;
					while(t != '"')
					{
						scanf("%c",&t);
						if(t!='"')
						{
							buf[size]=t;
							size++;
						}
					}
				}
				if (tmp == ':')
				{
					campuri++;
					for(i=0;i<size;i++)
						printf("%c",buf[i]);
					printf(",");
				}
			}
	}
	fclose(f);
	FILE *f2=freopen("convertor.in","rt",stdin);
	printf("\n");		
	scanf("%c", &tmp);
	while (tmp != ']')
	{
		scanf("%c", &tmp);
		if (tmp == '{')
		{
			while (tmp != '}')
			{
				t='0';
				scanf("%c",&tmp);
				if (tmp == ':')
				{
					scanf("%c",&tmp);
					while (tmp != '"')
					{	
						scanf("%c",&tmp);
						if(isdigit(tmp))
							break;
					}
					if (tmp == '"')
					{
						while(t != '"')
						{
							scanf("%c",&t);
							if(t!='"')
								printf("%c",t);
						}
						printf(",");
					}
					if(isdigit(tmp))
					{
						while(isdigit(tmp))
						{		
							printf("%c",tmp);
							scanf("%c",&tmp);
						}
						printf(",");
					}
				}
			}
			printf("\n");
		}
	}
	fclose(f2);
	fclose(out);
	return 0;
}