/*
 * Soubor:  20120105-Thu-matice-obrazek.c
 * Datum:   05.01.2012 08:27
 * Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
 * Licence: GNU/GPL 
 * Úloha:   
 * Popis:   
 ****************************************************/
#define _ISOC99_SOURCE
#define _GNU_SOURCE
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <ctype.h>

#define RADKU 128
#define SLOUPCU 128
#define ABCD ('z'-'a'+1)


/****************************************************
 *               Hlavní program.
 ****************************************************/
int main(void)
{
    int i, j;
    int znak;
    char matice[RADKU][SLOUPCU];

/* - je černá 
 * + je bílá */

    /* naplním matici daty */
    i = 0;
    while ((znak = getchar()) != EOF && i < RADKU * SLOUPCU) {
        znak = tolower(znak);
        if ( isalpha(znak) ) {
            matice[0][i] = znak;
            i++;
        }
    }
    j=0;
    while (i < RADKU * SLOUPCU) {
        matice[0][i] = matice[0][j];
        i++;
        j++;
    }

    /* uložím matici do obrázku */
    FILE *soubor;
    soubor = fopen("matice.xpm", "w");
    fprintf(soubor, "! XPM2\n%d %d %d 1\n", RADKU, SLOUPCU, ABCD);
    for (i = 0; i < ABCD; i++) {
        fprintf(soubor, "%c c #%02x%02x%02x\n", 'a' + i,
                rand() % 256, rand() % 256, rand() % 256);
    }
    for (i = 0; i < RADKU; i++) {
        for (j = 0; j < SLOUPCU; j++) {
            fputc(matice[i][j], soubor);
        }
        fputc('\n', soubor);
    }

    fclose(soubor);



    return 0;
}

