Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Glaucco

[Resolvido] Vetor que mostra frase inclusive os espaços em branco.

Recommended Posts

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

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

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

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

nesse caso é o tipo de retorno.

void = ñ retorna nd.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

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

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

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

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

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

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

É 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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.