Pagini recente » Cod sursa (job #546774) | Cod sursa (job #454480) | Cod sursa (job #356929) | Cod sursa (job #483341) | Cod sursa (job #1355321)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void reset_count (char x, int *count, FILE *f) {
if ( x == '}' ) {
fputs("\n",f);
*count = 0;
}
}
void prelucrare(char *namein, char *nameout) {
FILE *f1 = fopen(namein, "r");
FILE *f2 = fopen(nameout, "w");
int count = 0;
int virg = 0;
char c1, c2;
while ( (c1 = fgetc(f1)) != '}' ) {
if (c1 == '"') {
virg = 1;
count ++;
while ( (c2 = fgetc(f1)) != '}') {
if (c2 == '"')
break;
if (count % 2 == 1 )
fputc(c2,f2);
}
}
if ( (c1 - '0') >= 0 && (c1 - '0') <= 9 ) {
virg = 1;
count ++;
while ( (c2 = fgetc(f1)) != EOF) {
if ( (c2 - '0') < 0 || (c2 - '0') > 9 )
break;
}
}
if (virg && count % 2 == 1) {
fputc(',',f2);
virg = 0;
}
}
fputs("\n",f2);
virg = 0;
count = 0;
fseek(f1,0,0);
while ( (c1 = fgetc(f1)) != EOF ) {
reset_count(c1, &count, f2);
if (c1 == '"' ) {
virg = 1;
count ++;
while ( (c2 = fgetc(f1)) != EOF) {
if (c2 == '"')
break;
if (count % 2 == 0 )
fputc(c2,f2);
reset_count(c2, &count, f2);
}
}
if ( (c1 - '0') >= 0 && (c1 - '0') <= 9 ) {
virg = 1;
count ++;
if (count % 2 == 0 )
fputc(c1,f2);
while ( (c2 = fgetc(f1)) != EOF) {
if ( (c2 - '0') < 0 || (c2 - '0') > 9 )
break;
if (count % 2 == 0 )
fputc(c2, f2);
reset_count(c2, &count, f2);
}
}
if (virg && count % 2 == 0) {
fputc(',',f2);
virg = 0;
}
}
fclose(f2);
}
int main(void)
{
char namein[] = "convertor.in";
char nameout[] = "convertor.out";
prelucrare(namein, nameout);
return 0;
}