I need to print only the first two vowels of a word in c

-1

I need to print only the first two vowels of a word in c. Example: Computer print only: ou.

I tried it in many ways but none of them worked for me.

    
asked by noquieroirmesrstarck 05.05.2018 в 15:06
source

1 answer

3

Hello!

My solution would be something like this.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]) {

    char cadena[20];

    printf("Ingrese una cadena: "); //Ingreso la cadena por teclado.
    scanf("%s", cadena); //Leo la cadena.

    tolower(cadena); //Hago todas las letras de la cadena minusculas.

    printf("\n\nLas 2 primeras vocales son: ");

    /*inicializo la variable i para el ciclo for y recorrer toda la cadena, y tambien una variable cont para contar cuantas vocales he encontrado.*/
    int i = 0, cont = 0;  

    for(i = 0; i < strlen(cadena); i++){

        /*A medida que recorro el vector, si en alguna posición i que recorre el vector, la letra es una vocal, la imprimo y aumento
        el contador en 2, por eso la condicion de que cont < 2, por que si no seguiría imprimiendo todas las vocales de la cadena.*/

        if( (cadena[i] == 'a' || cadena[i] == 'e' || cadena[i] == 'i' || cadena[i] == 'o' || cadena[i] == 'u') && cont < 2 ){
            cont ++;
            printf(" %c ", cadena[i]); //imprimo las vocales.
        }
    }   

    return 0;
}

I hope I have helped you!

    
answered by 05.05.2018 / 18:23
source