Cod sursa(job #1342915)

Utilizator radutomaRADU TOMA radutoma Data 14 februarie 2015 17:46:22
Problema Convertor Scor 0
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.75 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=malloc((j+1)*sizeof(char));
                strncpy(retur,text,j);
                retur[j]='\0';
                strcpy(text,text+j+1);
                return retur;
           }

        }

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

    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;
    }
}

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


    while( fgets(a,1025,citire)!=0)
   {

    while(strchr(a,':')!=NULL)
    {
    b=cut(a);
    strcpy(token[s++],b);
    }
    }
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;
}