Glaucco 1 Denunciar post Postado Setembro 17, 2008 Leia um vetor contendo letras de uma frase inclusive os espaços em branco. Retirar os espaços em branco do vetor e depois escreve-los. Como eu vou fazer esse comando pra eu coloca dentro do vetor eu fis um embaixo mais ele não ta certo pq ele mostra apena uma frase. alguem pode mostra um exemplo. #include <stdio.h> #include <stdlib.h> main(){ char vetor[80],i; printf("\n Digite uma frase qualquer: "); fflush(stdin); gets(vetor); printf("\n Sua frase : %s\n",vetor); system("pause"); } Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Setembro 17, 2008 Quem sabe fazer essa aqui posta por favor o exemplo. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 17, 2008 bom eu usaria um deslocamento de caracteres enquanto o caracter " " for encontrado na string... tenta ae.. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Setembro 17, 2008 Eu vou começa asim com o enquanto? #include <stdio.h> #include <stdlib.h> main(){ char vetor[80],i; printf("\n Digite uma frase qualquer: "); fflush(stdin); gets(vetor); while vetor [80] Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 17, 2008 oq é esse while vetor [80] isso naum existe... vo te dar uma ajudinha + nesse você vai ter q c esforçar.´ void deslocaEsq(char *sVetor, int iIndice){ for(int i = iIndice; i < strlen(sVetor); i++){ sVetor[i] = sVetor[i+1]; } } pronto com essa função você faz oq o enunciado pede... força a cabeça ae... []'s Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Setembro 17, 2008 Pra que server esse void? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 17, 2008 nesse caso é o tipo de retorno. void = ñ retorna nd. Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Setembro 17, 2008 Quit eu fis asim olha. #include <stdio.h> #include <stdlib.h> main(){ int sVetor[10],i,iIndice // to em duvida aqui se é 0 ou ou nem tem esse vetor char sVetor[50]; //aqui eu vou digitita até 50 caracteres printf("\n Digite qualquer frase qualquer: "); fflush(stdin); gets(sVetor); void deslocaEsq(char *sVetor, int iIndice){ for(int i = iIndice; i < strlen(sVetor); i++) { sVetor[i] = sVetor[i+1]; } printf("\n Seu nome e: %s\n",Svetor); system("pause"); } } // o que ta faltando ou ta errado? não ta rodando Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 17, 2008 nunca mecheu com função naum?? declare essa função fora do escopo da "main()", e eu te dei uma função pronta para oq qr... agora você tem q saber usá-la neh... as unicas variaveis q você precisa no escopo da main são: char sVetor[40]; int i; []'s Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Setembro 17, 2008 É a primeira ves que eu to mechendo. Ainda sou aprendiz Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Setembro 17, 2008 Olha to fazendo aqui agora ta dando erro aqui #include <stdio.h> #include <stdlib.h> main(){ char sVetor[40]; int i; printf("\n Digite qualquer frase qualquer: "); fflush(stdin); gets(sVetor); void deslocaEsq(char *sVetor,int iIndice) // nessa <<< parte da erro toda hora { for(int i = iIndice; i < strlen(sVetor); i++) { sVetor[i] = sVetor[i+1]; } } printf("\n Seu nome e: %s\n",Svetor); system("pause"); } Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 17, 2008 jah disse comece declarando a função fora do escopo da main();, assim: void deslocaEsq(char *sVetor, int iIndice){ for(int i = iIndice; i < strlen(sVetor); i++){ sVetor[i] = sVetor[i+1]; } } int main(){ . . //seu programa aki . return 0; } []'s Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Setembro 18, 2008 Quit fis do jeito que você me falo olha mais ta dando erro #include <stdio.h> #include <stdlib.h> void deslocaEsq(char *sVetor, int iIndice){ \\ aqui<<<< for(int i = iIndice; i < strlen(sVetor);i++){ sVetor[i] = sVetor[i+1]; } } main(){ char sVetor[40]; int i; printf("\n Digite qualquer frase qualquer: "); fflush(stdin); gets(sVetor); printf("\n Seu nome e: %s\n",Svetor); system("pause"); } Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Setembro 18, 2008 Alguem pode me ajuda por favor. Posta. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 18, 2008 o erro é pq você esta usando uma função q é da biblioteca <string.h>, inclua essa biblioteca e vai compilar... você viw a logica da função q te passei?? oq acha q ela vai fazer?? []'s Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Setembro 18, 2008 void deslocaEsqesloca pra esquerda char *sVetor, int iIndice multiplica o caractere pelo vetor for(int i = iIndice; i < strlen(sVetor);i++){ aqui nãoentedi sVetor = sVetor[i+1]; aqui recebe o valor do vetor e calcula? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 18, 2008 opa opa.. você tem q ler melhor sobre os operadores em C e tbm sobre vetores e indices.. ai naum esta fazendo nd de soma, e sim fazendo um for pela palavra até o tamanho dela, fazendo q a posicao do iIndice receba a posição a sua frente, ow seja o iIndice é onde esta o espaço em branco ai ele será substituido pelo proximo caracter.. []'s Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 18, 2008 Estude o código: #include <stdio.h> #include <stdlib.h> #include <string.h> void deslocaEsq(char *sVetor, int iIndice){ for(int i = iIndice; i < strlen(sVetor); i++){ sVetor[i] = sVetor[i+1]; } } int main(){ char sVetor[40]; int i; printf("Digite a frase: "); fgets(sVetor, 40, stdin); sVetor[strlen(sVetor)-1] = '\0'; printf("Frase Original: %s\n", sVetor); for(i = 0; i < strlen(sVetor); i++) while (sVetor[i] == ' ') deslocaEsq(sVetor, i); printf("Frase Modificada: %s", sVetor); system("pause>>NULL"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Setembro 18, 2008 É aqui mais uma ves você conseguiu rodo legal você digita uma frase e da espaço e digitada ele mostra frase digita e pois ele junta tudo o que você digito agora deu pra entender agora se cair isso na prova eu vou acerta obrigado quit você sempre ajudando obrigado mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 18, 2008 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif e estuda rapaz!! Compartilhar este post Link para o post Compartilhar em outros sites