Estou com uma dúvida referente a um exercicio. Preciso duplicar cada palavra presente em uma string que o usuário irá inserir. Estou tentando resolver esse exercicio usando o strtok.
A lógica seria a seguinte: Vou quebrar a string usando strtok e armazenar cada palavra em um índice do vetor. Feito isso, irei copiar o vetor 1 para o vetor 2, e intercalar os dois vetores em um terceiro vetor.
O código esta razoavelmente pronto, porem ele dá pau quando vou converter (Atoi) um char para int e não prossegue o programa..
Antes de incluir um vetor no código, eu pensei em quebrar as palavras da string e recebe-las cada uma em uma variável distinta, porem eu não sei quantas palavras o usuário irá digitar, logo não sei como fazer para cada palavra ter sua variável unica.
Pergunta
brunahelenas
Boa noite galera.
Estou com uma dúvida referente a um exercicio. Preciso duplicar cada palavra presente em uma string que o usuário irá inserir. Estou tentando resolver esse exercicio usando o strtok.
A lógica seria a seguinte: Vou quebrar a string usando strtok e armazenar cada palavra em um índice do vetor. Feito isso, irei copiar o vetor 1 para o vetor 2, e intercalar os dois vetores em um terceiro vetor.
O código esta razoavelmente pronto, porem ele dá pau quando vou converter (Atoi) um char para int e não prossegue o programa..
Antes de incluir um vetor no código, eu pensei em quebrar as palavras da string e recebe-las cada uma em uma variável distinta, porem eu não sei quantas palavras o usuário irá digitar, logo não sei como fazer para cada palavra ter sua variável unica.
Segue o código abaixo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char frase[250];
char *parte;
int tam,i,vet1[250],vet2[250],x,vet3[250];
puts("Insira Frase");
gets(frase);
tam=strlen(frase);
parte = (char*)strtok(frase, " ");
vet1[x]=atoi(parte);
vet1[0] = (char*)strtok(frase, " ");
while(vet1[x] != NULL)
{
for(x=1; x<tam; x++)
{
vet1[x]=atoi(frase[x]);
vet1[x] = (char*)strtok(NULL, " ");
}
}
for(i=0; i<tam; i++)
{
vet2 = vet1;
}
for(i=0; i<tam+tam; i++)
{
vet3 = vet1[x];
i++;
vet3 = vet2[x];
i++;
}
for(i=0; i<tam+tam; i++)
{
printf("%d",vet3);
}
printf("\n\n");
system("pause");
return 0;
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.