Ejemplo: moto
Luego que introduzca 16 caracteres (ya que es una matriz 4x4):
lola
moto
coco
pepe
Ahora tiene que mostrar la matriz y luego buscar la palabra y decirme en que fila empieza y acaba y lo mismo en columna.
El problema lo tengo en las funciones buscar horizontal derecha izquierda, vertical arriba abajo y diagonal superior y inferior. Si alguien me puede ayudar. Gracias de antemano!
Código C++:
Ver original
#include <stdio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> #define MIDA 4 void llegirParaula(char paraula[MIDA]); void llegirSopa(char sopa[MIDA][MIDA]); void mostrarSopa(char sopa[MIDA][MIDA]); void hor_dre(char sopa[MIDA][MIDA], char paraula[]); void ver_dal(char sopa[MIDA][MIDA], char paraula[]); void hor_esq(char sopa[MIDA][MIDA], char paraula[]); void ver_bai(char sopa[MIDA][MIDA], char paraula[]); int main() { char paraula[MIDA]; char sopa[MIDA][MIDA]; llegirParaula(paraula); llegirSopa(sopa); mostrarSopa(sopa); hor_dre(sopa, paraula); /* ver_dal(sopa, paraula); hor_esq(sopa, paraula); ver_bai(sopa, paraula); */ } void llegirParaula(char paraula[MIDA]){ char c; int i = 0; while(c != '\n' && i < MIDA){ paraula[i] = c; i = i + 1; } paraula[i] = '\0'; } void llegirSopa(char sopa[MIDA][MIDA]) { int f, c; char car; f = 0; while (f < MIDA) { c = 0; while (c < MIDA) { sopa[f][c] = car; c = c + 1; } } f = f + 1; } } void mostrarSopa(char sopa[MIDA][MIDA]){ int f, c; for(f = 0; f < MIDA; f++){ for(c = 0; c < MIDA; c++){ } } } void hor_dre(char sopa[MIDA][MIDA], char paraula[]){ int f, c, k; char car; bool trobat = false; for(f = 0; f < MIDA && !trobat; f++) { for(k = 0, c=0; c < MIDA && !trobat; c++){ trobat = true; } } if(trobat) else } void ver_dal(char sopa[MIDA][MIDA], char paraula[]) { int f, c, k, ok; char car; for(c=0; c < MIDA; c++) { for(k = 0, f=0; f < MIDA; f++){ ok = 1; } } if(ok != 0) else } void hor_esq(char sopa[MIDA][MIDA], char paraula[]){ int f, c, k, ok; char car; for(f=0; f < MIDA; f++) { for(k = 0, c=0; c < MIDA; c--){ ok = 1; } } if(ok != 0) else } void ver_bai(char sopa[MIDA][MIDA], char paraula[]) { int f, c, k, ok; char car; for(c=0; c < MIDA; c++) { for(k = 0, f=0; f < MIDA; f--){ ok = 1; } } if(ok != 0) else }