Título: {Solucionado} [C] Detectar tres mayúsculas seguidas Publicado por: alvr en 3 Enero 2013, 19:39 pm AQUÍ LA SOLUCIÓN (http://foro.elhacker.net/programacion_cc/c_problema_con_bucle-t379890.0.html#msg1815079) Hola, tengo que hacer un programa en el que se escriba la frase y detecte si hay tres mayusculas consecutivas mediante una función. Aquí dejo el enunciado. Citar Se introduce por teclado un texto que acaba en un punto. Escribir un programa que nos indique si existen tres letras mayúsculas consecutivas en el texto. Para resolver el problema realizar una función EsMayusc que a partir de un carácter nos devuelva un 1 si el carácter es alfabético mayúscula y devuelva un 0 en cualquier otro caso. No deberán leerse más datos que los necesarios. Y aquí dejo el código que tengo hasta ahora, pero que claramente no funciona: Código: #include <stdio.h> Título: Re: [C] Problema con bucle Publicado por: avesudra en 3 Enero 2013, 20:18 pm Hola alvr , tu tienes que introducir un texto no letra a letra por lo tanto el:
Código No puede ser , ya que estás leyendo una sola letra.Además tienes que declarar un array de carácteres para albergar un texto no una sola letra, así que así no es: Código Debería de ser así: Código Entonces ahora para leer la frase que vas a introducir terminada en un punto debes usar el especificador de formato '%s'(sin las comillas) así: Código Pero esta función solo lee palabras. Así que tendrás que lidiar con esta(mejor dicho con la segura): Código Aunque esta función no es muy segura ( echale un vistazo a |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html) ) Esta función se sustituye por fgets: Código Una vez tienes la frase leída e introducida en el array de carácteres trabajas con punteros o con el índice dentro de los corchetes y vas comprobando. En tu programa el problema principal es que solo lees letras no una frase.La función de comprobar si es mayúscula está bien. Si necesitas más ayuda aquí estamos. Título: Re: [C] Problema con bucle Publicado por: leosansan en 3 Enero 2013, 21:33 pm Hola, tengo que hacer un programa en el que se escriba la frase y detecte si hay tres mayusculas consecutivas mediante una función. Citar Citándote: Y aquí dejo el código que tengo hasta ahora, pero que claramente SÍ funciona: Código Saluditos!. ......... :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: P.D: avesudra el uso de char no implica que debas estar dándole al enter cada vez, pruébalo y lo veras.. Título: Re: [C] Problema con bucle Publicado por: alvr en 3 Enero 2013, 22:06 pm Gracias por la ayuda leosansan pero necesito que compruebe que hay tres mayúsculas seguidas, y por el código que has enviado cuenta las mayúsculas que hay incluso estando separadas.
Título: Re: [C] Problema con bucle Publicado por: durasno en 3 Enero 2013, 23:44 pm Solo es cuestion que hagas algunas modificaciones nada mas, el codigo base te lo hicieron(tampoco pidas todo)
Saludos Título: Re: [C] Problema con bucle Publicado por: leosansan en 3 Enero 2013, 23:45 pm Gracias por la ayuda leosansan pero necesito que compruebe que hay tres mayúsculas seguidas, y por el código que has enviado cuenta las mayúsculas que hay incluso estando separadas. Comprueba si funciona ahora:Código Saluditos!. ......... :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: Título: Re: [C] Problema con bucle Publicado por: alvr en 4 Enero 2013, 00:03 am leosansan, no pide lo mismo, pero gracias de todas formas.
Al final he empezado de nuevo y parece que funciona bien. Aquí dejo el código por si alguno le resulta útil en un futuro. Código: #include <stdio.h> Título: Re: {Solucionado} [C] Problema con bucle Publicado por: durasno en 4 Enero 2013, 02:12 am Creo q no hace falta tantos scanf para la lectura, solo reseteando la variable cont a cero cuando no hay 3 consecutivos alcanzaria; algo asi:
Código
Saludos PD: lo creo q no considera es si se ingresan mas de 3 mayusculas consecutivas Título: Re: {Solucionado} [C] Problema con bucle Publicado por: zonahurbana en 4 Enero 2013, 04:35 am Una forma de hacerlo en C++:
Código
Título: Re: [C] Problema con bucle Publicado por: leosansan en 4 Enero 2013, 14:25 pm .................................................. Al final he empezado de nuevo y parece que funciona bien. Lamentablemente alvr no hace lo que debería ya que cuenta como tres si hay cuatro mayúsculas seguidas, por no decir que tampoco cuenta las apariciones, cosas ambas que en mi código si hacen. Idem para el código de durasno, aunque él si cuenta las apariciones. Saluditos!. ............. :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: |