Código (c) [Seleccionar]
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;
}