Cod sursa(job #1346784)

Utilizator irinapatularuPatularu Irina irinapatularu Data 18 februarie 2015 16:58:19
Problema Convertor Scor 90
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.85 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 *linie;
    int ct=0,i=0,ok=0;
    t_start=clock();
    linie=(char *)calloc(1025,sizeof(char));
    f=freopen("convertor.in","rb",stdin);
    g=freopen("convertor.out","w",stdout);
    while(fread(linie,sizeof(char *),1,f) && ok==0)
    { i=0;
    while(linie[i]!='}' && i<strlen(linie))
    {
        if(linie[i]=='\"')
        {
            ct++;
        }
        else
        {
            if(ct==1)
            {
                fprintf(g,"%c",linie[i]);
            }
            else
                if(linie[i]==',')
                    {
                        fprintf(g,"%c",linie[i]);
                        ct=0;
                    }
        }
        i++;
    }
    if(i<strlen(linie))
        ok=1;
    }
    fprintf(g,"%c\n",',');
    fseek(f,0,SEEK_SET);
    ct=0; ok=0;
    while(fread(linie,1,sizeof(char *),f) && ok==0)
    {
        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++;
    }
    if(i<strlen(linie))
        ok=1;
    }
    fclose(g);
    fclose(f);
    t_stop=clock();
    seconds=((float)(t_stop-t_start))/CLOCKS_PER_SEC;
    //printf("%f\n",seconds);
    return 0;
}