Dev - C++ - Imprima la cadena que tiene el mayor número de vocales

 
Vista:
sin imagen de perfil

Imprima la cadena que tiene el mayor número de vocales

Publicado por Johan Stiven (3 intervenciones) el 29/10/2020 21:50:30
Tengo que hacer este programa utilizando solo arreglos y funciones quien pueda hacerlo les agradezco. Es en c este es el problema.
Escribe un programa con funciones en C que, al recibir como dato 5 cadenas de caracteres, imprima la cadena que tiene el mayor número de vocales.

Ejemplo:
1) Mi corazón
2) Muy buen Juego
3) Murciélago
4) Gracias
5) Lo siento
Salida del programa: Muy buen Juego -- 6 vocales
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Imprima la cadena que tiene el mayor número de vocales

Publicado por Alfil (1444 intervenciones) el 30/10/2020 17:03:24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>
#include <cctype>
#include <string.h>
 
void leerCadena(char cadena[]);
int contarVocales(const char cadena[]);
 
int main()
{
    char cadena[50];
    char cadenaMasLarga[50];
    int vocales = 0, temp, max;
 
    for (int i = 0; i < 5; i++)
    {
        temp = vocales;
        leerCadena(cadena);
        vocales = contarVocales(cadena);
        if (strlen(cadena) > temp)
        {
            strcpy(cadenaMasLarga, cadena);
            max = vocales;
        }
    }
 
    printf("\nLa cadena mas larga es %s con %d vocales\n", cadenaMasLarga, max);
 
    return 0;
}
 
void leerCadena(char cadena[])
{
    fflush(stdin);
    printf("Cadena: ");
    scanf("%50[^\n]", cadena);
}
 
int contarVocales(const char cadena[])
{
    int vocales = 0;
 
    for (int i = 0; i < strlen(cadena); i++)
    {
        if (toupper(cadena[i]) == 'A') vocales++;
        else if (toupper(cadena[i]) == 'E') vocales++;
        else if (toupper(cadena[i]) == 'I') vocales++;
        else if (toupper(cadena[i]) == 'O') vocales++;
        else if (toupper(cadena[i]) == 'U') vocales++;
    }
 
    return vocales;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar