Ir ao conteúdo

Posts recomendados

Postado

Receber 5 nomes e mostrar o nome que possui o maior número de caracteres e o nome que possui a maior quantidade de vogais

eu montei a parte de maior numero de caracteres mais nao consigo a maior quantidade de vogais se poderem me ajudar 

 

<

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//Declaração das variáveis 
char nomes[5][41], maior[41];
int i;


//Função principal
main()
{
    //Estrutura de repetição para entrada de dados 
    for(i=0; i<5; i++)
    {
        printf("Informe o nome: ");
        fflush(stdin);
        scanf("%40[^\n]", nomes);
    }
    
    //Estrutura de repetição para comparar o tamanho das string 
    for(i=0; i<5; i++)
    {
        if(strcmp(nomes, maior) >= 0)
        {
            strcpy(maior, nomes);
        }
    }
    printf("o nome com maior quantidade de caracteres e: %s\n", maior);
    
    system("pause");
}

>

 

  • Obrigado 1
Postado

Você terá que criar um função que "leia" todas os caracteres de cada um dos os nomes, identifique quais são vogais, faça a contagem a cada vogal encontrada, e armazene o resultado numa variável para comparação.

  • Curtir 1
  • Obrigado 1
Postado
16 horas atrás, GuilhermeGB disse:

Você terá que criar um função que "leia" todas os caracteres de cada um dos os nomes, identifique quais são vogais, faça a contagem a cada vogal encontrada, e armazene o resultado numa variável para comparação.

 

//Elaborar um programa para receber 5 nomes e mostrar o nome que possui o maior número de caracteres e o nome que possui a maior quantidade de vogais.//biblio

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//variaveis
char nomes[5][41], nomeM[41], vogaismaiores[41];
int i, j, contador=0;
char vogais[] = "aeiouAEIOU";


//Função principal
main()
{
    //repeticao entrada
    for(i=0; i<5; i++)
    {
        printf("Informe o nome: ");
        fflush(stdin);
        scanf("%40[^\n]", nomes);
    }
    
    //Comparacao de strings
    for(i=0; i<5; i++)
    {
        if(strcmp(nomes, nomeM) > 0)
        {
            strcpy(nomeM, nomes);
        }
    }
    for (i=0;i<5;i++)
    {
        if(strcmp(nomes, vogais) > 0)
        {
            strcpy(vogaismaiores, nomes);
        }
        
    }
    
    printf("O nome com mais caracteres: %s\n", nomeM);
    printf("\nO nome com mais vogais %s\n", vogaismaiores);
    system("pause");
}

 

algo assim ? n sei se deu certo

  • Obrigado 1
Postado

@lucky8981     não exclua o tópico ,  deixe ele aí ,para ajudar outros que também precise , e seu código com algumas modificações poderia ser assim  :

#include <stdio.h>
#include <string.h>
#include <CTYPE.h>
#include <stdlib.h>
//Função principal é int main
int conta_vogais(char []);
int main()
{
    //Declaração das variáveis
    char nomes[6][41], maior;//variáveis Globais não aconselhável
    int i;
    //Estrutura de repetição para entrada de dados
    for(i=0; i<5; i++)
    {
        printf("Informe o nome: ");
        fflush(stdin);
        scanf("%s", nomes[i]);
        if( strlen(nomes[i]) > strlen(nomes[0]))strcpy(nomes[0],nomes[i]);
        if( ! i )strcpy(nomes[5],nomes[0]);
        else
            if(conta_vogais(nomes[i])>conta_vogais(nomes[5]))strcpy(nomes[5],nomes[i]);
    }
    printf("o nome com maior quantidade de caracteres eh : %s\n",nomes[0]);
    printf("o nome com maior quantidade de Vogais     eh : %s\n",nomes[5]);
    system("pause");
}
int conta_vogais(char nome[]){
    int cont=0,j,i;
    char vogais[5]={'A','E','I','O','U'};
    for(i=0; i<strlen(nome); i++)
    for(j=0; j<5; j++)
        if(toupper(nome[i]) == vogais[j])
            cont = cont + 1;
    return cont;
}

 

  • Curtir 1
  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...