HW8 parole errate

A
AleXio (240 points)
3 4 5
asked Dec 14, 2019 in HW8 obbligatorio by AleXio (240 points)
nel mio programma utilizzo la ricorsione per controllare le lettere di ogni parola e la matrice la controllo in modo iterativo con dei for che ciclano per tutta la griglia fino a quando non viene trovata una lettera uguale alla prima lettera della parola da cercare e li inizia i controlli per D e G ma non ho idee se per esempio trovo la prima lettera di una parola e la seconda lettera si trova sia a destra che sotto da la precedenza a destra e quindi se la parola "non si trova verso destra"  esce e dice che non c' è, cosa errata dato che la parola magari si trovava nella parte sotto, non so se mi spiego bene ma spero di essere stato chiaro(vedi esempio Disney, se la parola da cercare è paperina, cerca verso destra ma invece dovrebbe cercare verso il basso, perchè appunto da precedenza alle lettere sulla destra)
407 views

3 Answers

l
leonardoberti (1220 points)
1 4 12
answered Dec 14, 2019 by leonardoberti (1,220 points)
Questo, penso sia il caso più difficile da risolvere dell'HW anche se compare in molti casi, io mi sono creato una seconda funzione che controlla solo giù e ci entro solo nel caso che hai descritto.
A
AleXio (240 points)
3 4 5
commented Dec 14, 2019 by AleXio (240 points)
Ok entri nel caso che non trovi più uguaglianze e controlli verso il basso ma è un problema perché se fai tutti controlli verso il basso poi magari ce ne può essere uno verso destra(?)
a
a.pietroluongo (11250 points)
15 38 131
answered Dec 14, 2019 by a.pietroluongo (11,250 points)
Puoi chiamare la ricorsione su entrambe e inserire il risultato in due variabili e scegli quella che precede l'altra lessicograficamente.
Tommaso Sgroi (12990 points)
6 11 91
answered Dec 14, 2019 by Tommaso Sgroi (12,990 points)
Devi prima guardare a destra e poi verso il basso.

La difficoltà sta nel fatto che devi riuscire a trovare un modo per dire alla tua funzione come cambiare percorso se è finito in una strada sbagliata. Io per esempio ho usato una stringa che contiene una lettera da mettere nel percorso se è stato presa una strada sbagliata, questo permetterà alla tua funzione di cambiare direzione.