Cod sursa(job #1344851)

Utilizator irinapatularuPatularu Irina irinapatularu Data 17 februarie 2015 00:20:41
Problema Convertor Scor 80
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.68 kb
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int main()
{
    clock_t t_start,t_stop;
    float seconds;
    FILE *f,*g;
    char c,*linie;
    int ct=0,i=0;
    t_start=clock();
    linie=(char *)calloc(1025,sizeof(char));
    f=freopen("convertor.in","rb",stdin);
    g=freopen("convertor.out","w",stdout);
    fread(&c,sizeof(char),1,f);
    while(c!='}')
    {
        if(c=='\"')
        {
            ct++;
        }
        else
        {
            if(ct==1)
            {
                fprintf(g,"%c",c);
            }
            else
                if(c==',')
                    {
                        fprintf(g,"%c",c);
                        ct=0;
                    }
        }
        fread(&c,sizeof(char),1,f);
    }
    fprintf(g,"%c\n",',');
    fseek(f,0,SEEK_SET);
    ct=0;
    while(fread(linie,1,sizeof(char *),f))
    {
        i=0;
        while(linie[i]!=']' && i<strlen(linie))
        {
        if(linie[i]=='\"')
            ct++;
        else
        {
            if(linie[i]==',' && ct)
                {
                ct=0;
                fprintf(g,"%c",linie[i]);
                }
            if(linie[i]=='}')
            {
                fprintf(g,"%c\n",',');
                ct=0;
            }
            if(ct==2)
                if(linie[i]<='9' && linie[i]>='0')
                    fprintf(g,"%c",linie[i]);
            if(ct==3)
                fprintf(g,"%c",linie[i]);
        }
        i++;
    }
    }
    fclose(g);
    fclose(f);
    t_stop=clock();
    seconds=((float)(t_stop-t_start))/CLOCKS_PER_SEC;
    printf("%f\n",seconds);
    return 0;
}