HeartBreat
-
Posts
16 -
Cadastrado em
-
Última visita
Tópicos solucionados
-
O post de HeartBreat em Contar Letras de uma Mensagem usando Recursividade foi marcado como solução
Olha cara, tem varias coisas faltando e outras erradas, a variável "contador" tem que estar declarada como global para que o valor não se perca na recursão(nesse caso especifico), você não pode comparar uma string com um char desse forma ("Mensagem == Letra"), a iteração dentro da função recursiva também não faz sentido algum.Uma das coisas mais importantes na recursão é o caso base, é uma "condição" de parada para a função, nesse caso o '\0' no final da string, você ate colocou mas foi na parte comentada do código.O enunciado pede que o usuário digite uma palavra e uma letra 100 vezes uma de cada vez e que em cada chamada da função seja feita a contagem das letras
Enfim, eu fiz algumas modificações e deixei o mais próximo que o enunciado pede.
#include <stdio.h> #include <stdlib.h> #include <string.h> #define TAM 100 int cont = 0, i = 0; int Contar_Letra (char Mensagem[], char Letra); int main(){ char Mensagem[TAM], Letra; int l = 0; while(l<TAM){ printf("Digite a Mensagem: "); gets(Mensagem); printf("Digite a Letra: "); scanf("%c",&Letra); printf("Se repete: %i\n", Contar_Letra(Mensagem,Letra)); setbuf(stdin, NULL); cont = 0; i = 0; l++; } return 0; } int Contar_Letra(char Mensagem[], char Letra){ if(Mensagem[i] == '\0') return cont; if(Mensagem[i] == Letra){ cont++; } i++; Contar_Letra(Mensagem, Letra); }
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