sopa de letras

Iniciado por lopez fer, 11 Febrero 2021, 17:56 PM

0 Miembros y 1 Visitante están viendo este tema.

lopez fer

Me podrian ayudar, no se como buscar una palabra en diagonal al sureste este es mi codigo.

Código (cpp) [Seleccionar]

/*SOPA DE LETRAS
aca
ac
al
3
a c a
d c c
k l a
*/

#include <stdio.h>
#define REN 10
#define COL 10
int main(int argc, char *argv[]) {

int renglon, columna;
char caracter, aux;
int tam;
char matriz[REN][COL];
char palabra1[11];
char palabra2[11];
char palabra3[11];
int bandera,contador,longitud;

gets(palabra1);
gets(palabra2);
gets(palabra3);

scanf ("%d",&tam);
scanf ("%c",&aux);

//CICLO PARA LA CAPTURA DE DATOS
for(renglon=0; renglon<tam; renglon++){
for (columna=0; columna<tam; columna++){
scanf ("%c", &matriz[renglon][columna]);
scanf ("%c", &aux);
}
}

for(renglon=0; renglon<tam; renglon++){
for (columna=0; columna<tam; columna++){
if (matriz[renglon][columna] == palabra1[0]){
//comenzamos a buscar la palabra
//DERECHA (IMPLEMENTAMOS UN CICLO QUE BUSQUE A LA DERECHA LA SUIGUENTE LETRA DE LA PALABRA)
longitud= strlen(palabra1);
bandera=1;
for (contador=1;contador<longitud && columna+contador<tam; contador++);//controla no exceder a la longitud de la palabra
if (matriz [renglon][columna+contador] == palabra1[contador]){
bandera=0; // si la bandera cambia a cero es por que la palabra no se encuentra a la deracha
break;
}
   }
//verificar el codigo cuando termine
//si todos los caracteres coincidieron
   if (bandera==1  && contador==longitud ){
//imprimir las coordenadas
printf ("%c:%d %d derecha,",palabra1, renglon,columna);
}
//SURESTE



//ABAJO


}
}



return 0;
}





Serapis

Esto no requiere ayuda alguna, no son un problema matemático ni de programación (per sé) es pura y simple lógica, cuentas de niño de 8 años...

Toma un papel, cuadricula un rectángulo, numera las casillas. Contínuas si usas un array unidimensional, por filas si es  bidimensional...

Marca una casilla hacia el centro como la actual...
Ahora, anota cada dirección y a su derecha las casillas que correponden a un hallazgo de por ejemplo 4 letras.
Finalmente observa la diferencia entre las casilla y analiza cual es la solución viendo que cambia.

Piensa, si no sabes pensar dedícate a otra cosa.