Cod sursa(job #1360299)

Utilizator AndlolAndrei Apostoiu Andlol Data 25 februarie 2015 13:38:38
Problema Convertor Scor 50
Compilator c Status done
Runda rosedu_cdl_2015 Marime 1.35 kb
#include <stdio.h>

#define BUFFER_SIZE 1024

int main(int argc, char* argv[]) {
    FILE *in;
    FILE *out;
    char buffer[BUFFER_SIZE];
    int begin, end;

    in  = fopen("convertor.in", "r");
    out = fopen("convertor.out", "w");

    // Citeste chei
    fscanf(in, " [ { ");
    while (1) {
        fscanf(in, " \" ");
        if (fscanf(in, "%[A-Za-z0-9 ]s", buffer) == 0) {
            break;
        }
        fprintf(out, "%s,", buffer);
        fscanf(in, " \" : ");
        if (fscanf(in, "%*[0-9]") == 0) {
            fscanf(in, "%*[\"A-Za-z0-9. ]");
        }
        fscanf(in, " , ");
    }
    fprintf(out, "\n");

    // Get values
    fseek(in, 0, SEEK_SET);
    fscanf(in, " [ { ");

    while(1) {
        while(1) {
            fscanf(in, " \" ");
            if (fscanf(in, "%[A-Z a-z 0-9]s", buffer) == 0) {
                break;
            }
            fscanf(in, " \" : ");
            if (fscanf(in, "%[0-9]s", buffer) == 0) {
                fscanf(in, " \" ");
                fscanf(in, "%[A-Za-z0-9.+ ]s", buffer);
                fscanf(in, " \" ");
            }
            fscanf(in, " , ");

            fprintf(out, "%s,", buffer);
        }

        if (fscanf(in, "%[{}, ]s", buffer) == 0) {
            break;
        }

        fprintf(out, "\n");
    }

    return 0;
}