Ir ao conteúdo
  • Cadastre-se
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

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

×