bene il mistero si infittisce
Allora siccome il codice è molto lungo pubblicherò solo le cose piu importanti
sto implementando il gioco enigmistico kakuro in c++
Ho 3 matrici
string tabella, che mi rappresenta la griglia di gioco
Kakuro Celle, che mi serve per analizzare la griglia di gioco
Kakuro temp, una matrice temporanea
il problema nasce perchè devo fare in modo che l'input sia preso da tastiera mentre invece prima era implementato in modo statico, cosi ho fatto queste modifiche al codice ma crasha.
PRIMA DELLE MODIFICHE
avevo dei define che stabilivano la grandezza della matrice
in questa classe dichiaravo la matrice Cellecodice:#define ROW 8 #define COL 8
codice:class Tabella{ private: Kakuro Celle[ROW][COL]; .............
Nel main avevo dichiarato la matrice string tabella in modo statico
in questo metodo la matrice tempcodice:string tabella[ROW][COL]={{"N","23-","30-","N","N","27-","12-","16-"}, ///8x8 {"-16"," "," ","N","17-24"," "," "," "}, {"-17",...................
e il programma funzionava e restituiva la soluzionecodice:bool Tabella:: backtracking(int i, int j){ vector<int> val; Kakuro temp[ROW][COL];
MODIFICHE SUCCESSIVE PER PRENDERE LA GRIGLIA DA TASTIERA
dichiaro la matrice Celle in modo dinamico
codice:class Tabella{ private: int row; int col; Kakuro **Celle; ..............
Alloco nel main la matrice tabella
poi sempre nel maincodice:string **tabella; cout<<"Inserire numero di righe:"; int row; cin>>row; cout<<"Inserire numero di colonne:"; int col; cin>>col; //alloco la matrice dinamicamente tabella= new string*[row]; for(int i=0;i<row;i++) tabella[i] = new string[col]; //leggo da tastiera i valori della matrice for(int i=0;i<row;i++) for(int j=0;j<col;j++) { cout<<"KAKURO[ "<<i+1<<","<<j+1<<" ] = "; cin>>tabella [i][j]; }// fine leggi mat
passo al costruttore row e col
codice:Tabella Tab(row,col);
e il costruttore di Tabella costruisce Celle
codice:Tabella::Tabella(int r,int c){ row=r; col=c; //alloco la matrice dinamicamente Celle= new Kakuro*[row]; for(int i=0;i<row;i++) Celle[i] = new Kakuro[col];
e la matrice temp in questo metodo l'ho lasciata statica
codice:bool Tabella:: backtracking(int i, int j){ vector<int> val; Kakuro temp[row][col];


Rispondi quotando