Ir ao conteúdo

C Contar os caracteres em uma matriz de strings


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

Boa tarde,

Preciso fazer esse exercício de C, mas não consegui achar uma solução para os itens 3 e 4 do menu. No item 3 é preciso contar quantas vezes a letra "A" aparece na matriz nomes e no item 4 é preciso contar quantas vezes a letra "C" aparece no nome 2 da matriz.

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

int main (){
    setlocale(LC_ALL, "Portuguese");
    char nomes[3][50], letra[]="A";
    int i, j, opcao, contA;
    
    for(i=0;i<3;i++){
        printf("DIGITE O NOME %d: ", i+1);
        gets(nomes[i]);
    }
    strupr(nomes[0]);
    strupr(nomes[1]);
    strupr(nomes[2]);

    while(opcao!=5){
        printf("\n\nESCOLHA UMA DAS OPÇÕES ABAIXO:\n");
        printf("1) Mostra os nomes cadastrados em maiúsculo e na ordem \ninversa, ou seja, mostra do último ao primeiro nome cadastrado.\n");
        printf("2) Mostra quantas pessoas com o nome 'PAULO' foram cadastradas.\n");
        printf("3) Mostra quantas letras 'A' foram cadastradas na matriz de strings.\n");
        printf("4) Mostra quantas letras 'C' o segundo nome cadastrado possui.\n");
        printf("5) FINALIZAR O PROGRAMA\n\n");
        scanf("%i", &opcao);

        switch(opcao){
            case 1:
                for(i=2;i>=0;i--){
                printf("\nNOME %d: %s\n", i+1, nomes[i]);
                }
                break;
                
            case 2:
                for(i=0;i<3;i++){
                    if(strcmp(nomes[i],"PAULO")==0){
                        printf("\nPalavra %d é igual a 'PAULO'\n", i+1);
                    }
                }
                if(strcmp(nomes[i],"PAULO")!=0){
                    printf("\nNenhuma palavra é igual a 'PAULO'");
                }
                
                break;
            
            case 3:
                break;
                
            case 4:
                break;
        }
    }
    printf("\nFIM DO PROGRAMA!!!");
    return 0;
}

 

  • Amei 1
  • Solução
Postado

@Igor Rossoni       voê pode usar  dois Loop's para verificar todas as posições da matriz  e a cada letra A maiúscula , cujo código ASCII é 65 ,  encontrar incremente o contador dessa letra "A" , igualmente para a letra C , apenas que essa  se encotrará na segunda linha da matreiz ,  que começa em zero , e então é a linha 1 da matriz .

  • Curtir 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...