Hola, necesito el código fuente del programa sopa de letras, este debe poder crear una sopa nueva i guardarla en un fichero i ademas debemos poder jugar. ¿Alguien me puede ayudar? Gracias de antemano.
Respuesta
1
1
Anónimo
Aquí tienes un programa de sopa de letras que te puede servir mucho, el resto es solo jugar y modificarles una cositas. #include<stdio.h> #include<string.h> #include<stdlib.h> char matriz[10][10]; char palabra[11], paso[11]; int i, j, r; void main() { srand(rand()); for(i = 0; i < 10; i++) { for(j = 0; j < 10; j++) { sprintf(paso, "%c", (65 + (int)(24.0 * rand() / (RAND_MAX + 1.0)))); matriz[j] = paso[0]; printf("%c ", matriz[j]); } printf("\n"); } printf("\nIngrese la palabra: "); scanf("%s", palabra); /////////////////////Busqueda horizontal//////////////////////// for(i = 0; i < 10; i++) { for(r = 0; r < 10; r++) paso[r] = matriz[r]; paso[10] = '\0'; if(strstr(paso, palabra) != NULL) { printf("La palabra fue encontrada en la fila %d: %s\n", (i + 1), paso); break; } } ////////////////////Busqueda vertical////////////////////////// for(i = 0; i < 10; i++) { for(r = 0; r < 10; r++) paso[r] = matriz[r]; paso[10] = '\0'; if(strstr(paso, palabra) != NULL) { printf("La palabra fue encontrada en la columna %d: %s\n", (i + 1), paso); break; } } ///////////////////Busqueda diagonal superior//////////////////// for(i = 0; i < 10; i++) { for(r = 0; r < (10 - i); r++) paso[r] = matriz[r + i][r]; paso[10 - i] = '\0'; if(strstr(paso, palabra) != NULL) { printf("La palabra fue encontrada en la %d diagonal superior: %s\n", (i + 1), paso); break; } } /////////////Busqueda diagonal inferior////////////////////////// for(i = 0; i < 10; i++) { for(r = 0; r < (10 - i); r++) paso[r] = matriz[r][r + i]; paso[10 - i] = '\0'; if(strstr(paso, palabra) != NULL) { printf("La palabra fue encontrada en la %d diagonal inferior: %s\n", (i + 1), paso); break; } } }