Ir ao conteúdo
  • Cadastre-se
Iksin

C Programa que retorna caracter mais frequente da string. o que ha de errado?

Recommended Posts

Boa noite, precisava retornar o caracter mais frequente dda string digitada, mas meu código nao funciona, alguem pode me dizer porque? O que eu errei? é a lógica?

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


int main(){
    char string[100];
    int i=0;
    int cont=0;
    int f;

    printf("digite:\t");
    fgets(string,100,stdin);


        while(string[i]!= '\0')
        {
            if(string[i]==string[i])
            {
                cont++;
            }
                printf ("frequetes %d \n", cont);
                i++;
        }


    system("pause");
    return 0;

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

1#
@Iksin, sempre mantenha o código indentado. Ex.:

#include<stdio.h>
// #include<stdlib.h> NÃO ESTÁ SENDO UTILIZADO (NÃO TEM porque DECLARAR)
int main() {
    char string[100];
    int i=0;
    int cont=0;
    int f;

    printf("digite:\t");
    fgets(string,100,stdin);
    while(string[i]!= '\0') {
        if(string[i]==string[i]) {
            cont++;
        }
        printf ("frequetes %d \n", cont);
        i++;
    }
    system("pause");
    return 0;        
}

 

 

 

2#

@Iksin, sobre:

4 horas atrás, Iksin disse:

Boa noite, precisava retornar o caracter mais frequente dda string digitada, mas meu código nao funciona

 

Já entendeu o que significa "caractere mais frequente"? Então, após entender o que se quer (enunciado), é preciso criar um algoritmo para que atenda o que foi solicitado...  esqueça o C ou qualquer linguagem de programa, tente se preocupar com as etapas necessárias...

 

Por exemplo, escreva uma frase pequena ("string") no papel... ai tente responder a pergunta "qual é o caractere mais frequente"...  daí, tente entender os passo necessários para encontrar a resposta. Só após, você irá "traduzir" esses passos para linguagem escolhida.

 

 

Por exemplo, em relação ao seu código, tem:

 

4 horas atrás, Iksin disse:

if(string[i]==string[i]) {

 

Você está comparando uma letra com ela mesma... provavelmente essa lógica não vai funcionar.

 

 

 

RESUMINDO

Ou você deve ter dúvida na lógica, ou deve ter dúvida na sintaxe (que estava voltada para implementar a lógica). Pelo que analisei do seu código, está com duas nas duas coisas ao mesmo tempo... entende?

 

Sugiro que apenas foque na lógica... entenda o problema... tente fazer no papel e crie um algoritmo mental. Daí, tente descrever os passos... como se fosse dando instruções para outra pessoa fazer... Poste aqui essas instruções.

 

 

No aguardo.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×