
                           SUDOKUSOLVE

          Programma per la ricerca di soluzioni del Sudoku
                        v. 1.0 - 20051204

             Marco Liverani <liverani@mat.uniroma3.it>



1 - INTRODUZIONE

    SudokuSolve e' un programma ANSI C per la ricerca esaustiva
    delle soluzioni del gioco del Sudoku a partire da una matrice
    di numeri interi che rappresenta la configurazione iniziale 
    della griglia di gioco.


2 - UTILIZZO

    Il programma legge in input un file di testo ASCII contenente
    la configurazione iniziale della griglia del Sudoku. Il formato
    del file di input e' il seguente: il file contiene nove righe 
    formate da numeri interi compresi tra 0 e 9 (estremi inclusi)
    separati da spazi. Nel file non sono contenuti altri simboli o
    altre informazioni.

    Esempio:
    0 0 2 5 0 9 1 0 0
    0 0 0 0 0 0 0 0 0
    6 3 0 0 2 0 0 4 5
    4 0 0 0 0 0 0 0 9
    0 0 5 1 0 4 8 0 0
    2 0 0 0 0 0 0 0 7
    5 4 0 0 3 0 0 2 1
    0 0 0 0 0 0 0 0 0
    0 0 8 7 0 6 5 0 0

    Lanciando il programma senza alcun parametro sulla linea di
    comando viene richiesto l'inserimento del nome del file 
    contenente la griglia iniziale. Se il file non puo' essere
    aperto in lettura o se risulta inesistente, viene visualizzato
    un messaggio di errore e il programma termina.

    Il nome del file da acquisire in input puo' essere passato
    sulla linea di comando utilizzando l'opzione "-f nomefile".

    Al termine dell'elaborazione viene visualizzata la configurazione
    che risolve la partita definita dalla griglia di input.

    Le opzioni che e' possibile fornire sulla linea di comando sono
    le seguenti:

    -f nomefile: viene acquisito in input la griglia definita nel
                 file "nomefile".

    -d: durante l'elaborazione vengono visualizzati i messaggi che
        consentono di seguire le operazioni svolte dal programma.

    -h: vengono visualizzate le istruzioni sintetiche per l'uso
        del programma.


3 - COMPILAZIONE

    Il programma e' stato progettato in modo da garantire la 
    portabilita' su numerose piattaforme hardware/software. Il
    programma e' stato verificato effettuando la compilazione con
    il compilatore ANSI C GCC di GNU.

    Per compilare il programma puo' essere utilizzato il comando
    make che utilizza il Makefile fornito con il programma:

    - make: produce il programma eseguibile "sudokuSolve".

    - make all: produce il programma eseguibile "sudokuSolve".

    - make clean: elimina il file eseguibile e i file in formato
      oggetto.

    Per compilare il comando direttamente con l'uso del compilatore
    per il linguaggio C si puo' usare il seguente comando:

      gcc -O2 -Wall -o sudokuSolve sudokuSolve.c


4 - Segnalazione di bug e documentazione

    Per segnalare eventuali bug, malfunzionamenti o incompatibilita'
    potete scrivermi all'indirizzo liverani@mat.uniroma3.it. Il
    software e la documentazione sono distribuiti sulle pagine 
    web disponibili all'indirizzo: 
    
       http://www.mat.uniroma3.it/users/liverani


