Blog italiano/inglese

Ciao a tutti!

Finora, ogni post pubblicato conteneva le stesse informazioni in lingua italiana e poi inglese. Tuttavia, questo sistema rendeva le cose un po’ confuse e difficili da leggere.

Pertanto, da oggi ci sono due diversi blog: questo, interamente in italiano, e quello al solito indirizzo interamente in inglese!

Sul menu in alto, trovate il tasto per passare dall’uno all’altro.

Stay tuned!

Annunci

Risolutore di sudoku

Versione italiana (english version below)

Oggi voglio presentarvi un risolutore di sudoku che ho scritto in C++. Si tratta di un programma non troppo complicato, ma che consente di esercitarsi bene nell’utilizzo del linguaggio.

Nota: risolve solo i sudoku più semplici

Il funzionamento è molto semplice: per ogni cella, il programma considera tutte le possibilità, da 1 a 9. Poi, per ogni cella, esclude le alternative impossibili: così via per tutte le celle, fino a risolvere il sudoku.

Il software ricava l’input dal file di testo ‘sudoku.txt’, che contiene il sudoku nella forma mostrata in figura.

sudokuOgni cella è separata da una virgola, ogni riga da un a capo;

le x rappresentano le celle vuote che il software dovrà riempire.

Il software è molto veloce: tutti i sudoku che ho provato sono stati risolti in meno di un secondo.

Il codice dovrebbe risultare abbastanza chiaro e di facile lettura. All’interno della funzione main(), durante la lettura del testo dal file, vi è un comando all’interno della direttiva #ifdef _WIN32. Quando si utilizza Windows, infatti, il carattere “a capo” è reso con la coppia CRLF (o ‘rn’), mentre su sistemi Unix solo con ‘n’. Tale comando serve a rimuovere il carattere ‘r’ e proseguire con il normale svolgimento del programma.

Stay tuned!