Pagini recente » Cod sursa (job #2027523) | Cod sursa (job #496307) | Cod sursa (job #145454) | Cod sursa (job #2941961) | Cod sursa (job #1349721)
#include <stdio.h>
#include <string.h>
int main()
{ char token[1500][700];
FILE *citire;
FILE *afisare;
char c;
citire=fopen("convertor.in","r");
afisare=fopen("convertor.out","w");
unsigned int inreg=0,poz=0,inreg2=0;
unsigned long int s=0,i;
int lungime=1;
while((c=fgetc(citire))!=EOF)
{
if(c!='"')
{if(inreg==1) {token[s][poz]=c;poz++;}
else
if((c<='9'&&c>='0')||(c=='-'))
{
inreg2=1;
token[s][poz]=c;
poz++;
}
else if(inreg2==1)
{token[s][poz]='\0';
s++;inreg2=0;}
}
else
if(inreg==0)
{
token[s][poz]='\0'; inreg=1;poz=0;
}
else {
if(s%2==0) if(s!=0) if(strcmp(token[0],token[s])==0)
{
lungime=s;
for (i=0;i<s;i=i+2)
fprintf(afisare,"%s,",token[i]);
fprintf(afisare,"\n");
for (i=1;i<s;i=i+2)
fprintf(afisare,"%s,",token[i]);
fprintf(afisare,"\n");
token[s][poz]='\0';
s++;poz=0;
inreg=0;
break;
}
token[s][poz]='\0';
inreg=0;s++;poz=0;
}
}
while((c=fgetc(citire))!=EOF)
{ if(c!='"')
{
if(inreg==1) {if(s%2==1) {fprintf(afisare,"%c",c);}}
else
if((c<='9'&&c>='0')||(c=='-'))
{
inreg2=1;
fprintf(afisare,"%c",c);
}
else if(inreg2==1)
{if(s%2==1) fprintf(afisare,",");if((s+1)%lungime==0)
fprintf(afisare,"\n");
s++;inreg2=0; }
}
else {
if(inreg==0)
inreg=1;
else {inreg=0;
if(s%2==1) fprintf(afisare,",");
if((s+1)%lungime==0)
fprintf(afisare,"\n");
s++;
}
}
}
if(lungime==1)
{for(i=0;i<s;i=i+2)
fprintf(afisare,"%s,",token[i]);
fprintf(afisare,"\n");
for(i=1;i<s;i=i+2)
fprintf(afisare,"%s,",token[i]);
}
fclose(afisare);
return 0;
}