Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [C#] Aiuto Programma
Forum - C# / VB.NET - [C#] Aiuto Programma

Avatar
ProgrMan93 (Ex-Member)
Pro


Messaggi: 68
Iscritto: 25/06/2008

Segnala al moderatore
Postato alle 18:59
Martedì, 02/09/2008
Salve,
sto tentando di realizzare un programma in c# in grado di risolvere un sudoku, per adesso sono riuscito a leggere lo schema da un file di testo (con uno 0 al posto degli spazi vuoti). Ho pensato ke per risolvere il sudoku dovevo cambiare con un numero generato casualmente lo zero rappresentante lo spazio vuoto finke il sudoku non era giusto. Fino a cambiare gli zeri con un numero casuale ci sono riuscito il problema sta ke una volta  cambiati gli zeri con i numeri casuali non riesco a fare in modo che il programma controlli se il sudoku sia giusto o sbagliato.
Qualkuno mi può aiutare?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:36
Mercoledì, 03/09/2008
Beh, le regole del sudoku dicono che ogni riga e ogni colonna devono contenere solo i numeri da uno a nove, senza ripetizioni. Dovresti fare lo stesso:
Codice sorgente - presumibilmente VB.NET

  1. 'Supponiamo che Scheme sia la matrice
  2. 'che contiene lo schemda del sudoku
  3.  
  4. Dim Numbers(8) As Boolean
  5.  
  6. 'Controlla ogni RIGA
  7. For I As Byte = 0 To 8
  8.   'All'inizio, nessun numero è presente
  9.   For B As Byte = 0 To 8
  10.     Numbers(B) = False
  11.   Next
  12.   'Controlla ogni cella della riga
  13.   For J As Byte = 0 To 8
  14.     If Numbers(Scheme(I, J)) = True Then
  15.       'Il numero c'è già nella stessa riga,
  16.       'lo schema è sbagliato
  17.     Else
  18.       'Il numero non era ancora presente, lo include
  19.       Numbers(Scheme(I, J)) = True
  20.     End If
  21. Next


Poi fai lo stesso con le colonne, invertendo I e J.

PM Quote
Avatar
ProgrMan93 (Ex-Member)
Pro


Messaggi: 68
Iscritto: 25/06/2008

Segnala al moderatore
Postato alle 11:49
Mercoledì, 03/09/2008
Ok grazie mille Totem!:k:
Ma come faccio a inserire lo schema dentro la matrice scheme?

Ultima modifica effettuata da ProgrMan93 il 03/09/2008 alle 12:10
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:47
Mercoledì, 03/09/2008
La matrice è come un array di array. Lo fai come se dovessi riempire tanti array uno dopo l'altro. Io non sono in che controlli hai messo la griglia, quindi non ti posso aiutare.

PM Quote
Avatar
ProgrMan93 (Ex-Member)
Pro


Messaggi: 68
Iscritto: 25/06/2008

Segnala al moderatore
Postato alle 20:30
Giovedì, 04/09/2008
ok:k:

PM Quote