Ir ao conteúdo
  • Cadastre-se

Nicholas_R.

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa tarde, estou tendo dificuldade em fazer um código, utilizando ponteiro ( ou apontadores), para verificar se uma palavra está contida num determinado texto. Tanto os textos e as palavras são pré-determinadas pelo programa, como mostrado a seguir: #include <stdio.h> #include <stdlib.h> #include <string.h> #define bool int #define TRUE 1 #define FALSE 0 #define MAX_WORD_LENGTH 21 #define MAX_TEXT_LENGTH 81 #define MAX_WORD 20 int escolha_frase(){ int num_frase, num_palavra; printf("Escolha umas das seguintes frases: "); printf("1-A string that contains a dog and a cat"); printf("2-A string that contains camel and mouse"); printf("3-The dog was eating with the horse"); printf("4-The camel drunk all the water"); printf("5-The mouse entered into the pipe"); printf("6-Uma string que pode conter dog ou camel"); printf("7-The horse is bigger than the dog"); printf("Frase: "); scanf(" %d", &num_frase); if (num_frase<1 && num_frase>7) { printf("Erro: Frase não encontrada\n"); exit(1); } return num_frase; } int escolha_palavra(){ int num_frase, num_palavra; printf("Escolha uma das seguintes palavras: "); printf("1-dog"); printf("2-horse"); printf("3-cat"); printf("4-mouse"); printf("5-camel"); printf("6-pig"); printf("Palavra: "); scanf(" %d", &num_palavra); if (num_palavra<1 && num_palavra>7) { printf("Erro: palavra não encontrada\n"); exit(1); } return num_palavra; } void ver_se_contem (char *frase_actual, char *palavra_actual){ char result; printf("Frase: %s\n", frase_actual); printf("Palavra: %s\n", palavra_actual); result = strstr(frase_actual, palavra_actual); if (result) { printf("Sim, a palavra está contida da frase\n"); } else { printf("Não está contida na frase\n"); } } void main() { char frase1 [MAX_TEXT_LENGTH] = "A string that contains a dog and a cat"; char frase2 [MAX_TEXT_LENGTH] = "A string that contains camel and mouse"; char frase3 [MAX_TEXT_LENGTH] = "The dog was eating with the horse"; char frase4 [MAX_TEXT_LENGTH] = "The camel drunk all the water"; char frase5 [MAX_TEXT_LENGTH] = "The mouse entered into the pipe"; char frase6 [MAX_TEXT_LENGTH] = "Uma string que pode conter dog ou camel"; char frase7 [MAX_TEXT_LENGTH] = "The horse is bigger than the dog"; char palavra1 [MAX_WORD_LENGTH] = "dog"; char palavra2 [MAX_WORD_LENGTH] = "horse"; char palavra3 [MAX_WORD_LENGTH] = "cat"; char palavra4 [MAX_WORD_LENGTH] = "mouse"; char palavra5 [MAX_WORD_LENGTH] = "camel"; char palavra6 [MAX_WORD_LENGTH] = "pig"; char *frase_ptr [MAX_WORD]; // para apontar a frases char *pal_ptr [MAX_WORD]; // para apontar a palavras char ** frase, ** palavra; char palavra_actual [MAX_TEXT_LENGTH]; char frase_actual [MAX_TEXT_LENGTH]; int num_frase, num_palavra; // para conter a escolha do util. frase_ptr [0] = frase1; frase_ptr [1] = frase2; frase_ptr [2] = frase3; frase_ptr [3] = frase4; frase_ptr [4] = frase5; frase_ptr [5] = frase6; frase_ptr [6] = frase7; pal_ptr [0] = palavra1; pal_ptr [1] = palavra2; pal_ptr [2] = palavra3; pal_ptr [3] = palavra4; pal_ptr [4] = palavra5; pal_ptr [5] = palavra6; while (1) { num_frase = escolha_frase(); num_palavra= escolha_palavra(); frase = &frase_ptr[num_frase-1]; palavra = &pal_ptr[num_palavra-1]; for (int i = 0; i < num_frase-1; i++) { frase_actual[i] = **frase[i]; } for (int i = 0; i < num_palavra-1; i++) { palavra_actual[i] = **palavra[i]; } ver_se_contem (frase_actual, palavra_actual); } }

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