Cod sursa(job #1480804)

Utilizator raulvasileRaul Vasile raulvasile Data 3 septembrie 2015 10:27:42
Problema Cifra Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 1.26 kb
/* Author: Raul Vasile
 * Mail: [email protected]
 */

#include <stdio.h>
#include <string.h>

int main(int argc, char* argv[]) {
    // Declarare variable
    int length, i, rc, len, result = 0;

    char word[102];

    int vector[100] = {0, 1, 5, 2, 8, 3, 9, 2, 8, 7, 7, 8, 4, 7, 3, 8, 4, 1, 5, 4, 4, 5, 9, 6, 2, 7, 3, 6, 2, 1, 1, 2, 8, 1, 7, 2, 8, 5, 9, 8, 8, 9, 3, 0, 6, 1, 7, 0, 6, 5, 5, 6, 2, 5, 1, 6, 2, 9, 3, 2, 2, 3, 7, 4, 0, 5, 1, 4, 0, 9, 9, 0, 6, 9, 5, 0, 6, 3, 7, 6, 6, 7, 1, 8, 4, 9, 5, 8, 4, 3, 3, 4, 0, 3, 9, 4, 0, 7, 1, 0};

    // Declarare fisiere
    FILE *input, *output;

    // Deschidere fisiere
    input = fopen("cifra.in", "r");
    output = fopen("cifra.out", "w");

    // Verificare fisiere
    if (input == NULL || output == NULL) {
        printf("Error opening files");
        
        return 0;
    } else {
        rc = fscanf(input, "%d", &length);

        for (i = 0; i < length; i++) {
            rc = fscanf(input, "%s", word);

            len = strlen(word) - 1;

            if (len > 0) {
                result = vector[(word[len - 1] - '0') * 10 + (word[len] - '0')];
            } else {
                result = vector[word[len] - '0'];
            }

            fprintf(output, "%d\n", result);
        }
    }

    return 0;
}