tuinvl Posted July 1, 2010 Report Share Posted July 1, 2010 (edited) Bueno el problema es asi Ejemplo de entrada: MATCHES CHEESECAKE PICNIC EXCUSES Sample output C H E E S E E C X MATCHES PICNIC K U E S E S //se deja un espacio antes de otra instruccion u otras palabras a ingresar # //Con este simbolo se le dice al programa que debe terminar. user$ //Bueno ese es el programa en si , ahora en lo que necesito ayuda es como posicionar las palabras y los caracteres de esta forma(Es obligatorio que las palabras cruzadas queden alineadas). NO quiero que me hagan la tarea solo pido ayuda de como hacerlo. :) :) //EDIT ya que al publicar el mje las palabras cruzadas no se ven bien aca les dejo el link para que vean como tienen que formarse. Tarea Edited July 1, 2010 by tuinvl Link to comment Share on other sites More sharing options...
Ra Posted July 1, 2010 Report Share Posted July 1, 2010 Pero postea el código donde estás imprimiendo... Link to comment Share on other sites More sharing options...
gabyganihonjindayo Posted July 2, 2010 Report Share Posted July 2, 2010 bucha Raul =.= pense que habia encontrado la respuesta a todas mis preguntas y noooo! eras tu x( yo no he podido ni compararlas bien! ya estoy explotando estupido strings... los odio Link to comment Share on other sites More sharing options...
alvaroxz Posted July 2, 2010 Report Share Posted July 2, 2010 (edited) Complejita la tarea que te dieron cumpita Vamos desglosando de mas grande a mas chico. ---------------- Antes que todo de todo, el tablero debe ser asi: tablero[x][y]. osea es como un plano cartesiano. V:palabra vertical H:palabra horizontal ------------------------------------------------ Primero debes tener una base de dato con todas las palabras en español de modo que la pc pueda dicernir si la(s) palabra(s) introducida y generadas por el cruce existen. ya que si no fuera asi el juego no tendria gracia, seria meter y meter palabras en un array... 0 aporte la tarea. ---------------- El analisis e ingreso de palabras lo dejo para el final* ---------------- Segundo debes preocuparte que la palabra ingresada no salga del tablero eso se logra de esta manera V: yInicial+largoPalabra-1<=Y H: xInicial+largoPalabra-1<=X ---------------- Tercero el ingreso de palabras debe cumplir lo siguente: La palabra ingresada debe intersectar con una palabra antigua. (debe cursarse con una), la manera de lograr eso es sencilla. V: Recorrer todo el Y del X dado, y verificar que exista una letra. Es decir tablero[xDado][yInicial+recorreriendoY] hay letras? H: Recorrer todo el X del Y dado, y verificar que exista una letra Es decir tablero[xInicial+recorriendoX][yDado] hay letras? La interseccion de letras (palabra nueva-palabra antigua(s)), deben concidir. esta es igual de sencillo: Analizar la posicion de cada letra de la palabra y verificarla en el tablero. V: tablero[yDado][xInicial+recorriendoX] = palabra[recorriendoX] H: tablero[yInicial+recorriendoY][xDado] = palabra[recorriendoY] ---------------- Eso seria principalmente el esqueleto del juego.... *: La forma de agregar palabras o analizarlas es asi: H: for(int x=xInicial; x<xInicial+largoPalabra-1; x++){ añadir = tablero[x][yDado] } V: for(int y=yInicial; y<yInicial+largoPalabra-1; y++){ añadir = tablero[xDado][y] } ---------------- Eso seria como las venas del programa, y ya los musculos seria ver que si cada vez que agregas una palabra se generan nuevas, en este caso analizando horizontal o verticalmente, RECORRE la palabra, pensnado que cada letra asi: 789 456 123 siendo 5 la letra recorrida para: V: Si en 4,6; hay una letra presente, revizar que la palabra nueva generada exista... ejemplo posicion = palabra[xDado][yInicial+recorriendoY] contiguo1 = palabra[xDado--][yInicial+recorriendoY] contiguo2 = palabra[xDado++][yInicial+recorriendoY] hay letras en contiguo1 o contiguo2? H: Si en 2,8; hay una letra presente, revizar que la palabra nueva generada exista... posicion = palabra[xInicial+recorriendoX][yDado] contiguo1 = palabra[xInicial+recorriendoX][yDado--] contiguo2 = palabra[xInicial+recorriendoX][yDado++] hay letras en contiguo1 o contiguo2? ---------------- Eso es el juego en su totalidad, creo que no me salto nada... Bueno viendo de lejos no veo la necesidad de recursividad ni cosas complejas se puede programar con poco conocimiento supongo... Si tienes dudas me dices Denuevo espero no haberme saltado nada Edited July 2, 2010 by alvaroxz Link to comment Share on other sites More sharing options...
plus Posted July 3, 2010 Report Share Posted July 3, 2010 Pero hay varias combinaciones posibles de palabras cruzadas, o no? Link to comment Share on other sites More sharing options...
gabyganihonjindayo Posted July 3, 2010 Report Share Posted July 3, 2010 puedes usar un for anidado para comparar las palabras y cuando sean iguales guardas las posiciones en variables auxiliares y sales del los for con un goto esas variables despues las utilizas para imprimir las palabras Link to comment Share on other sites More sharing options...
RigoPerdido Posted July 3, 2010 Report Share Posted July 3, 2010 (edited) ufff, que difícil costo, pero salio. :) Me enfoque solo en la parte de procesar las palabras, lo de la lectura desde un archivo es lo de menos creo. No se si sera la mejor solución, pero me salio una función como con 500 if y 250 else.... Como dicen anteriormente l@s colegas de arriba, recorres en 2 for anidados cada posición del primer par de letras (Como una matriz) y vas comparando cada letra si son iguales, cuando esto ocurra, guardas el indice de cada palabra en el que compartían una misma letra, luego te sales de los dos for. Para mostrar las palabras de la forma que lo piden, nuevamente a través de 2 for anidados, preguntas, cuando la posicion en x sea igual al indice de la palabra, muestras una letra de la palabra vertical y asi sucesivamente tambien en el caso de las posiciones horizontales. Por cada ciclo finalizado del for que recorre verticalmente, das un salto de linea (\n), por cada posicion en donde no corresponde escribir una letra, escribes un espacio. saludos Edited July 3, 2010 by RigoPerdido Link to comment Share on other sites More sharing options...
barricade3 Posted November 17, 2010 Report Share Posted November 17, 2010 Buenas tardes, Necesito urgete el codigo fuente de palabras cruzadas. es muy urgente, gracias Link to comment Share on other sites More sharing options...
MaTiNhO Posted November 17, 2010 Report Share Posted November 17, 2010 Buenas tardes, Necesito urgete el codigo fuente de palabras cruzadas. es muy urgente, gracias ¿Algo mas? ¿Un cafecito?, digo yo... Link to comment Share on other sites More sharing options...
barricade3 Posted November 17, 2010 Report Share Posted November 17, 2010 No que se enfriaria, el cafe Con el codigo me sobra Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now