Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500

    [C] problema soluzione sudoku con ricorsione

    Ciao a tutti, stavo cercando di risolvere un problema relativo al gioco del sudoku....cercavo di implementare una funzioncina ricorsiva che risolveva uno schema di sudoku prendendo in input da file una matrice così costituita:
    codice:
    4 0 0 1
    0 1 0 0
    3 0 1 0
    0 0 0 0
    dove gli zeri cirrispondono alle caselle vuote...posto qua sotto la soluzione da me implementata che però presenta qualche errore che non sono riuscito a risolvere...se qualcuno potrebbe dare un'occhiata per vedere se riesce a trovare qualche errore...grazie
    codice:
    int solution ( int n, int** m, int N2, int i, int j ) 
    {
        int k;
        
        if ( n >= N2*N2 ) {
             if ( check_solution(m, N2) ) return SUCCESS;
        }
        if ( i < N2 ) {
           if ( mat2[i][j] == 0 ) {
              for ( k=1; k<=N2; k++ ) {
                  m[i][j] = k;
                  if ( j < N2 ) {
                     if ( solution( n+1, m, N2, i, j+1) ) return SUCCESS;
                  }
                  else {
                       j=0;
                       if ( solution( n+1, m, N2, i+1, j) ) return SUCCESS;
                  }
              }
           }
           else {
                if ( j < N2 ) {
                   if ( solution( n+1, m, N2, i, j+1) ) return SUCCESS;
                }
                else {
                     j=0;
                     if ( solution( n+1, m, N2, i+1, j) ) return SUCCESS;
                }
           }
        }        
        return FAILURE;
    }
    n --> profondità per capire quando la matrice è stata riempita e fare il controllo se è stata trovata una soluzione;
    N2 --> dimensione della matrice in questo caso dedotta in lettura..in questo caso 4
    naturalmente n, i, j passati dal main hanno inizialmente valore 0

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [C] problema soluzione sudoku con ricorsione

    Originariamente inviato da MrX87
    ... presenta qualche errore ...
    Se resti così sul "vago", non credo ci sara' tanta gente disposta ad esaminare tutto il codice, capire cosa non va, correggerlo ...

    Il tempo a disposizione e' quello che e', si risponde gratuitamente, ma non si puo' pretendere di non avere alcuna indicazione circa il problema!
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Io ti posso indicare un buon riferimento, con descrizione dettagliata del problema e relativo codice ricorsivo: http://www.luigilamberti.it/Software/Sudoku/Sudoku.htm
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  4. #4
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    eh...il problema...sinceramente ancora nn sono riuscito a trovarlo...perchè l'ho testato con i sudoku 4x4 e funziona...trovando la soluzione nel giro di un secondo...mentre se provo a dare come input uno schema di sudoku con matrice 9x9 il programma inizia a lavorare ma non termina...continua a provare...però ho fatto un pò d debug e dovrebbe funzionare...almeno da quello che sembra facendo i primi step...cmq...ho mi scuso se nn ho detto qual era l'errore...ma pensavo che visto che era uin problema magari molto trattato...c'era qualcuno più esperto che l'aveva già affrontato e aiutarmi...tutto qui....cmq ringrazio Skull260287 per il link...vado a dare un'occhiata...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.