Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Roger Oliveira_702869

Ajude um novato - Contar palavras iguais de um texto em C

Recommended Posts

Olá!

Sou iniciante em C, tanto é que este programa precisa ser feito sem uso de ponteiros e nada muito avançado, apenas for, vetores, while.

O programa consiste em o usuário digitar um texto de até 500 caracteres, depois digitar uma palavra de até 24 caracteres, e o programa retornar quantas vezes essa palavra ocorreu no texto.

 

Segue o que fiz até o momento:

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
 
main()
 
{
 
char palavra[25], texto[501];
int quantidade1 = 0, quantidade2 = 0;
int i, j,tamanho_t, tamanho_p;
 
 
do{
    printf("Digite um texto com no maximo 500 caracteres: ");
    gets(texto);
 
    tamanho_t= strlen(texto);
 
    if(tamanho_t>500) printf("\nVoce digitou um texto com mais caracteres que o permitido. Tente novamente.\n\n");
    }while(tamanho_t>500);
 
 
do{
    printf("Digite uma palavra com no maximo 24 letras (apos sera retornada a quantidade de vezes que essa palavra aparece no texto): ");
    gets(palavra);
 
    tamanho_p = strlen(palavra);
 
    if(tamanho_p>24) printf("\nVoce digitou uma palavra com mais letras que o permitido. Tente novamente.\n\n");
    }while(tamanho_p>24);
 
 
for (i=0; i<=tamanho_t; i++)
 
        if(texto == palavra)
 
            {
                for(j=0; j<=tamanho_p; j++)
                {
                    if(texto[i+j] == palavra[j])
                    quantidade1++;
                }
                  if(quantidade1==tamanho_p)
                     quantidade2++;
 
            }
 
printf("\nA quantidade de vezes que aparece a palavra %s no texto é: %d\n\n", palavra, quantidade2);
 
system("pause");
}
.
.
.
 
O que está em negrito que é meu problema. Tenho que fazer o programa usando esse tipo de código com esse texto[i+j], porém ele não retorna o valor correto. Não sei se é algum for, ou a disposição dos if's, porém já tentei de tudo e nada, na verdade até estou cansado mentalmente de tanto mexer nesse programa, rsrs. Alguém poderia me dar uma luz, dizer exatamente onde está o erro e como posso resolvê-lo? 
 
Abaixo segue o que foi me passado para explicar um pouco desse texto[i+j]:
Sem%20t%C3%ADtulo.png
 
Obrigado!!!
Editado por Roger Oliveira_702869

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






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

×