Ir ao conteúdo
  • Cadastre-se

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


Posts recomendados

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!!!
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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