• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Alguien me hecha un cable?

    Programado Fijo Cerrado Movido
    Software
    4
    19
    1.3k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • parasitoP
      parasito
      Última edición por

      Alguien me hecha una mano con un problema de programacion???

      Problema 2

      Un editor de texto es un programa que permite escribir y modificar archivos digitales compuestos unicamente por texto sin formato, conocidos comuntmente como archivos de texto. Se distinguen de los procesadores de textos en que s’utilizan para escribir nombre de texto, sin formato y sin imágenes. Hay una gran variedad de editores de texto. Algunos s´dónde d’os general, mientras que otras están diseñados por escribir o programar en un lenguaje. Algunos de uso muy sencillos, mientras que otras tienen implementadas gran cantidad de funciones. 1 Una de las funciones mas comunes que nos podemos encontrar en un editor de texto ´se la de buscar una palabra o frase dentro el mismo.ELobjetivo d’esta practica es el de diseñar e implementar una variante de la funci´o de busqueda en la que buscaremos palabras que sean anagrames d’una palabra dada. Un anagrama ´se una palabra o una frase formados por la transposici´o de sus letras. Este tipo de busqueda ´se utilizada en aplicaciones reales en las que en caso de no encontrar la palabra introducıda se buscan angramas de la misma intentando prever que l’usuario s’ha equivocado. Varios buscadores bien conocidos como www.google.se, www.msn.se ´o www.yahoo.se utilizan tecnicas de este estilo por ayudar a l’usuario en la busqueda.

      El problema consta de 3 fases

      1. Obtener la palabra: Nuestro programa recibira desde la entrada estandard (teclado o fichero en caso de hacer un redireccionament) la palabra a buscar. Esta palabra sera la primera introducida.
      2. Buscar anagramas en el texto: Una vez sabemos la palabra que queramos buscar en el texto, pasaremos a la obtencion del texto que, al igual que la palabra a identificar, nos vendrá introducida por la entrada estandard. El unico requisito a seguir para l’entrada d’este texto es que ha de acabar con 2 puntos simples, los cuales pueden estar separados por espacios, cambios de linia o tabuladores.

      No se permite almacenar todo el texto en memoria, por lo tanto, el que se pretende leer el texto palabra a palabra y tratarlas a medida que las vamos leyendo. Por este problema consideraremos que hemos encontrado un anagrama, cuanto la palabra del texto tenga las mismas letras que la palabra a buscar aunque sean en diferente orden, es a decir, las letras de la palabra del texto son una transposicion de las de la palabra a buscar.

      3. Mostrar el resultado de la busqueda: Finalmente, una vez obtenidos los resultados de buscar la palabra dentro el texto, el que debemos hacer es mostrar el resultado. La informacion que tendra que devolver nuestro programa es:

      • Cada una de las palabras del texto que son anagramas de la palabra que estamos buscando.
      • El numero total a veces que hemos encontrado anagramas de la palabra en el texto.

      Ejemplo:

      • Entrada:
      RaSTer
      A raster graphics image, sterar digital image, or starre bitmap,
      is a data raaste or structure representing a generally
      rectangular grid of retsar pixels, or points of tesrar color,
      on a computer rartes monitor, paper, or other display device..
      Sortida:
      Anagrama trobat: raster
      Anagrama trobat: sterar
      Anagrama trobat: starre
      Anagrama trobat: retsar
      Anagrama trobat: tesrar
      Anagrama trobat: rartes
      Se han encontrado 6 anagramas de la palabra "raster".

      3 Consideraciones

      • Cada palabra tendra como mucho 50 caracteres.
      • El programa no debe diferenciar entre mayusculas y minusculas, es a decir, para el nuestro programa es el mismo “Hola” que “hola”.
      • Por facilitar l’enunciado, se harán sobre textos en ingles,así no hace falta considerar los acentos a las palabras. Por lo tanto, una palabra estara formada por las letras
      {a, . . . , z,A, . . . ,Z}.

      El problema ya esta hecho pero me falla algo y no doy con el error:llorar:, por eso pido ayuda alguien que lo vea por primera vez.
      El problema ya va adjunto.
      Muchas gracias por la ayuda !!!!

      1 Respuesta Última respuesta Responder Citar 0
      • parasitoP
        parasito
        Última edición por

        Aqui esta el problema.
        Y muchas gracias de verdad !!!! 😉
        attachment_p_439133_0_problema2.zip.zip

        R 1 Respuesta Última respuesta Responder Citar 0
        • R
          RaY4cK @parasito
          Última edición por

          Ufff

          A mi me gustaría ayudarte pero la programación que estoy dando en la universidad es en java 😞

          De todas formas intentaré hecharle un vistazo 😛

          SaludoS

          IstarionI 1 Respuesta Última respuesta Responder Citar 0
          • IstarionI
            Istarion @RaY4cK
            Última edición por

            Al final lo has solucionado??
            Si no es asi, que es lo que falla?? es decir, da un error, da un resultado inesperado…??

            Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

            parasitoP 1 Respuesta Última respuesta Responder Citar 0
            • parasitoP
              parasito @Istarion
              Última edición por

              Creo que el problema esta al principio, pero no doy con él.

              parasitoP 1 Respuesta Última respuesta Responder Citar 0
              • parasitoP
                parasito @parasito
                Última edición por

                Resulta que lo puedo compilar, pero luego para comprobar si funciona le tengo que pasar un conjunto de pruebas, pero cuando lo intento me da error.
                attachment_p_439139_0_conjunto-de-pruebas.zip

                IstarionI 1 Respuesta Última respuesta Responder Citar 0
                • IstarionI
                  Istarion @parasito
                  Última edición por

                  Uhhm, justo ahora me voy a cenar pero al volver le echare un vistazo. Es que llevo toda la tarde peleandome vs asp.net, informes y sus respectivas madres en pelotas, y tengo ganas de un codigo "good-old c" xD

                  Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                  IstarionI 1 Respuesta Última respuesta Responder Citar 0
                  • IstarionI
                    Istarion @Istarion
                    Última edición por

                    Solo te da el error con las pruebas?? Yo no puedo salir del programa O_o es decir, no acaba nunca…<br />Es que no se, hay unas cuantas cosas que no me cuadran:<br />-El "ultima_paraula" hace una asignacion en el return! Con lo que siempre devuelve true, y no acaba nunca. Tendrias que ponerle la comparacion "==" para que si encuentra '\0' salga, siempre que lo tengas copiado en la poscion cero (cosa que no se porque todavia no he acabado de leerlo).<br />-El "saltar_blancs" no salta blancos, busca el caracter '.', y si no lo encuentra sale. Tambien para si encuentra una letra (como toca); tendrias que ponerle " c!='.' ", es decir, que "c no sea un punto".<br />-El "copiar_paraula" acepta cualquier caracter. Para restringirlo, has de utilizar el and "&&" y no el or "||", o de lo contrario acepta cualquier valor (mietras sea >a <strong>Ó</strong> <z, aceptas ambas cosas).<br /><br />Vale he hecho eso, y me sale un bucle infinito de anagramas trobats xD Supongo que algun bucle que se te habra pasado por alto. Dentro de poco me voy a ver lost, voy a ver si encuentro algo mas antes de ello 😛

                    Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                    IstarionI 1 Respuesta Última respuesta Responder Citar 0
                    • IstarionI
                      Istarion @Istarion
                      Última edición por

                      Uhhmmm… el anagrama... a ver, explicame que deberia/quieres que haga la funcion "anagrama".
                      Y tambien asi un poco por encima cada funcion, y la idea general del programa. Mas que nada porque hay cosas que pueden parecer absurdas pero tienen sentido, y otras cosas puede que no lo tengan y pasan desapercibidas.

                      Ahora que me fijo, todas esas variables "fi" locales a funciones (que estan dentro de funciones) da igual lo que les asignes, cuando salgas de la funcion se pierde. O haces "fi" global (lo cual es una guarrada y los profes suelen ser bastante estrictos), o haces que la funcion devuelva un booleano y lo tratas en un nivel superior (generalmente en el main).

                      Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                      IstarionI 1 Respuesta Última respuesta Responder Citar 0
                      • IstarionI
                        Istarion @Istarion
                        Última edición por

                        Bueno te puedo decir un par de pautas que yo de ti seguiria:

                        -Indicar al usuario que esta pasando, en plan "Introdueixi la paraula a cercar:" y cuando la has introducido que diga "Has introduit la paraula: …", y asi te aseguras 100% de que hasta ahi ha funcionado correctamente. Luego algo como "Introdueixi el texte on cercar els anagrames:".

                        -Piensa que un bucle es para cosas repetitivas. La peticion de la palabra a buscar cuantas veces se hace? Tan solo una vez, no? Pues entonces fuera del bucle, castigada! xD y te queda algo como:
                        obtenir_primera_paraula(c,p1);
                        while(!fi) {
                        llegir_paraula(c,p2);
                        while(!ultima_paraula(p2)) {
                        tractar_paraula(p1,p2);
                        fi=llegir_paraula(c,p2);
                        }
                        compt=compt+1;
                        }
                        -Fijate que he marcado "fi" en negrita; lo suyo seria modificar la funcion para que devuelva booleanos, y asi fi valdra "true" en cuanto se encuentren los dos puntos.

                        Por ultimo, que IDE utilizas?? La opcion de "debuggear" es muy interesante, y en el 99% de los casos muuy facil de usar, asi que no lo dudes, que los tipicos "printf" para buscar errores suelen ser bastante coñazo 😉

                        Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                        Santi-XtreS 1 Respuesta Última respuesta Responder Citar 0
                        • Santi-XtreS
                          Santi-Xtre @Istarion
                          Última edición por

                          Si te sirve una solucion en c++ tal vez podria ponerme esta noche a tratar de resolvertelo. Saludos!

                          R 1 Respuesta Última respuesta Responder Citar 0
                          • R
                            RaY4cK @Santi-Xtre
                            Última edición por

                            jajaja, yo por lo que he visto no creo que me ponga ya, ya que Istarion creo que ha solucionado casi todos lo problemas!

                            Por si sirve de algo, también va muy bien ir poniendo comentarios para saber lo k se va haciendo y a la vez hace un código más fácil de entender en estos casos…

                            IstarionI 1 Respuesta Última respuesta Responder Citar 0
                            • IstarionI
                              Istarion @RaY4cK
                              Última edición por

                              Es que la otra opcion es explicar como hacer el programa entero, varias posibles soluciones y eso. De todas formas en primero mola hacer los programas a saco, probando hasta que acaba funcionando. Yo creo que prefiero aprender asi, haciendolo a piñon aunque no sea perfecto pero que funcione, y luego que me expliquen como se hace bien xD Esa es la mejor manera de aprender.
                              Ademas, luego con el tiempo vuelves a mirar los programas que has hecho, y te preguntas como ese retorcido trozo de codigo acababa funcionando xD

                              Bueno mañana si tengo un hueco por la mañana le echo un vistazo otra vez 😉

                              P.D.: Y ahora a dormir, vaya horas que hago viendo Lost xDDD

                              Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                              parasitoP 1 Respuesta Última respuesta Responder Citar 0
                              • parasitoP
                                parasito @Istarion
                                Última edición por

                                Bueno, ya no hace falta que os rompais mas la cabeza :p, he conseguido que funcione gracias a la ayuda de un compañero, ya que aún estoy un poco verde :muerto:. Pero ante todo quiero daros las gracias por vuestra ayuda !!!

                                Ya nos iremos viendo por la web. Gracias

                                PD: Mas hacia adelante ya os iré preguntando otras cosas xDD:risitas:

                                parasitoP 1 Respuesta Última respuesta Responder Citar 0
                                • parasitoP
                                  parasito @parasito
                                  Última edición por

                                  Aprovechando este foro, queria pedir consejo sobre algun programa que este bien para programar en c++, y que sea para windows, y si sabeis de algun tutorial que sea bueno tampoco vendria mal.

                                  Gracias !!!

                                  IstarionI Santi-XtreS 2 Respuestas Última respuesta Responder Citar 0
                                  • IstarionI
                                    Istarion @parasito
                                    Última edición por

                                    Quitando entornos tochos y de pago tipo visual c, conozco los siguientes:

                                    -Eclipse, tambien permite programar en muchos otros lenguajes, y tiene miles de plugins.
                                    -Devcpp, aunque su desarrollo se estanco, es bastante rapido, comodo y va bien. Lo unico es que ya empieza a estar anticuado y no tiene "pijaditas" de otros entornos que se agradecen.
                                    -Codeblocks, esta muy bien. Me recuerda al visual studio aunque todavia le queda 😛

                                    Yo optaria por el Codeblocks, de los que he puesto es el que mas me convence, aunque el devc suele ser mas que suficiente. A mi el Eclipse me gusta bastante, es potente, pero tiene pijaditas que no me gustan nada y es un poco "engendro" (algo lento); ahora bien, si te acostumbras a usarlo esta muy bien.

                                    Edito: Tutoriales busca por google que no tengo ninguno guardado; las referencias de "c++ con clase" esta bien para iniciarse, aunque quizas te deja un poquito a medias. Pero para empezar esta bien. Ahora, lo que tu hacias en el ejemplo que me has pasado, es una mezcla de c++ y c, puesto que usabas bools (ANSI C no soporta booleanos).

                                    Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                                    R 1 Respuesta Última respuesta Responder Citar 0
                                    • R
                                      RaY4cK @Istarion
                                      Última edición por

                                      Yo he escuchado que eclipse va muy bien…

                                      Sobre el manual mira por esta pagina haber que encuentras: http://www.elrincondelc.com/nuevorincon/index.php

                                      SaludoS

                                      parasitoP 1 Respuesta Última respuesta Responder Citar 0
                                      • parasitoP
                                        parasito @RaY4cK
                                        Última edición por

                                        ok, gracias por vuestra ayuda

                                        1 Respuesta Última respuesta Responder Citar 0
                                        • Santi-XtreS
                                          Santi-Xtre @parasito
                                          Última edición por

                                          Pues yo parasito utilizo el Borland C++ Builder 6.0, muy completo y tiene buenas opciones para desarrollar proyectos con diseño grafico.

                                          1 Respuesta Última respuesta Responder Citar 0
                                          • 1 / 1
                                          • First post
                                            Last post

                                          Foreros conectados [Conectados hoy]

                                          3 usuarios activos (0 miembros e 3 invitados).
                                          febesin, pAtO,

                                          Estadísticas de Hardlimit

                                          Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
                                          Somos un total de 34.7k miembros registrados.
                                          robadams ha sido nuestro último fichaje.