LusoRobótica - Robótica em Português

Software => C/C++ => Tópico iniciado por: raicai em 23 de Agosto de 2015, 15:41

Título: Dúvida com strings
Enviado por: raicai em 23 de Agosto de 2015, 15:41
Bom dia pessoal, estava elaborando o seguinte código e me surgiu uma dúvida

Código: [Seleccione]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
        char *entrada;
        char *saida;
        int n, i, q;
        int compare;
        entrada=(char *) malloc((n+1) * sizeof(char));
        saida=(char *) malloc((n+1) * sizeof(char));
               
        printf("Digite quantas palavras deseja entrar: \n");
        scanf("%d", &n);
       
                for(i=0; i<n; i++){
                        printf("");
                        scanf("%s", entrada);
                        }
       
        printf("Digite quantas palavras deseja sair: \n");
        scanf("%d", &q);
       
                for(i=0; i<q; i++){
                        printf("");
                        scanf("%s", saida);
                }
       
        int comparar= strcmpi(entrada, saida);
       
}

Como posso realizar um "for" pra que seja comparado que as palavras que estão na saída constam na entrada? Por exemplo:

Entrada: Mesa, Tabua, Cadeira
Saida: Tabua

O "for" irá comparar Tabua com as 3 palavras da entrada e imprimir que a palavra consta ou não na entrada. Podem me ajudar?
Título: Re: Dúvida com strings
Enviado por: senso em 23 de Agosto de 2015, 15:54
strcmp?
Título: Re: Dúvida com strings
Enviado por: raicai em 23 de Agosto de 2015, 15:56
Eu estava fazendo uns testes, e acabou indo sem eu perceber hahahaha
Título: Re: Dúvida com strings
Enviado por: KammutierSpule em 23 de Agosto de 2015, 15:57
Antes de fazeres o que pedes, tens de fazer bem os passos que estao para tras.
O teu codigo tem varios erros, por isso o melhor 'e dividires o problema por partes.
A tua funcionalidade incial para inserir as entradas nao esta bem, logo tudo o resto nao funcionara.

Corre o teu codigo mentalmente passo a passo e verifica se esta de acordo com o que pretendes.
Exemplo:

entrada=(char *) malloc((n+1) * sizeof(char));

Esta 'e a primeira instruccao do teu codigo, ele vai alocar uma quantidade de memoria, correspondente ao valor de n + 1. Qual 'e o valor de n neste momento?
'E indefinido, ainda nao foi inicializado.

Se fizeres este exercicio mental para todas as linhas do teu codigo vais descobrir os probelmas e pensar como estruturar e resolve-los.
Título: Re: Dúvida com strings
Enviado por: StarRider em 23 de Agosto de 2015, 23:13


... pessoalmente não ajudo desconhecidos ....