Cod sursa(job #1342955)

Utilizator radutomaRADU TOMA radutoma Data 14 februarie 2015 18:22:10
Problema Convertor Scor 0
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.74 kb
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *cut(char *text )
{
    int i,j;

    char *retur;


  for(i=0;i<strlen(text);i++)
        if((text[i]<='9')&&(text[i]>='0'))
         {
           strcpy(text,text+i);
           for (j=1;j<strlen(text);j++)
              if (!((text[j]<='9')&&(text[j]>='0')))
           {
                retur=(char *)malloc((j+1)*sizeof(char));
                strncpy(retur,text,j);
                retur[j]='\0';
                strcpy(text,text+j+1);
                return retur;
           }

        }

        else if (text[i]=='\"')

   {

    //for(i=0;i<strlen(text);i++)
       // if (text[i]=='\"')
        //{
            strcpy(text,text+i+1);
           // break;

        //}
    for(i=0;i<strlen(text);i++)
        if (text[i]=='\"')
    {
        retur=malloc((i+1)*sizeof(char));
        strncpy(retur,text,i);
        retur[i]='\0';
        strcpy(text,text+i+1);
        return retur;
    }
}
    return NULL;
}

int main()
{   FILE *citire;
    FILE * afisare;
    citire=fopen("convertor.in","r");
    afisare=fopen("convertor.out","w");
    char a[1025];
    char *token[1025];
    int s=0;


    while( fgets(a,1025,citire))
   {

    while(strchr(a,':')!=NULL)
    {
    token[s++]=cut(a);
    }
    }
int i,j;
int lungime;
    for (i=2;i<s;i=i+2)
    if (strcmp(token[i],token[0])==0)
       { lungime=i;break;}

    for (i=0;i<lungime;i=i+2)
         fprintf(afisare,"%s,",token[i]);
         fprintf(afisare,"\n");
    for(i=0;i<s/lungime;i++)

      {
        for(j=1;j<lungime;j=j+2)
           fprintf(afisare,"%s,",token[i*lungime+j]);
        fprintf(afisare, "\n");
      }

      fclose(afisare);
    return 0;
}