Ir para conteúdo

POWERED BY:

Arquivado

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

Bemc

[Resolvido] Concatenação

Recommended Posts

Ta olha soh eu li mas não entendi nd sobre a concatenação, preciso d algo facil e rapido...

Bom eu qro acrescentar '0' antes e depois da string tipo assim

char diviso[64];
	printf("digite o divisor\n");
	scanf("%s",&diviso);
	tam2=strlen(diviso);
	for(j=tam2;j<32;j++){
		divisor='0'+diviso;
	}
	for(j=0;j<32;j++){
		divisor=diviso+'0';				  
	}
por favor me ajudem

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim você qr receber um numero(tipo string) e transformar essa msm variavel com zeros??

qnts zeros a esquerda e qnts a direita?

 

veja tbm o comando strcat();

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

a ideia é a seguinte

um usuario digita um numero binário d n bits

e o meu programa dve acrescentar tanto zeros qnto necessários antes p/ completar 32 bits e mais 32 bist no fim desse número.. tipo assim

um usuario digita

1111

o programa dever faz ...0000000111100000000...

Isso tudo é por que eu tnho q desenvolver uma divisão binário

d 32 bits(o quociente) pq o divisor e o resto tem (64bits) e meu prof qr q eu mostre passo a passso...

Ps como utilizar o stcat();???

Compartilhar este post


Link para o post
Compartilhar em outros sites

entaum é q tipo gostaria de saber a string td ficara com 32 bits tipo você digita 1111 ele ficara exatamente assim:

00000000000111100000000000000 <= tipo num ta certinho + é + ow - assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é assim odivisor tem q fechar 64 bits, o programa valia o n° digitado pelo usuario e deve completar a esquerda do numero zeros e fechar 32 junto com o numero depois d fazer isso, acrescentar mais 32 zeroa a direita, fechando assim uma string d 64 bits, ou seja o numero q a pessoa digitou deve ficar no meio...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso o primeiro for tem que ser:

for(j = 0; j < 32 - tam2; j++)
{
diviso[j] = '0';
}

E o segundo:

for(j = 32; j < 63; j++)
{
diviso[j] = '0'
}
diviso[63] = '\0'; //tem que ter null-termination!

Só que tem que ter uma segunda string para guardar o valor da string diviso enquanto ela está sendo preenchida. Aí entre os fors você põe um strcat ali.

Só que tem um problema, tentei montar um programa aqui com isso e tentei copiar uma string para outra e deu erro, se alguém estiver disposto a ajudar o nosso amigo ali melhor que eu, por favor faça!

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <stdio.h>
#include <string.h>
int main(void) {
 char binario[32];
 scanf("%s",binario);

 unsigned int SIZE = 32;
 char OUT[SIZE];
 memset(OUT,(int)'0',SIZE-strlen(binario));
 OUT[SIZE-strlen(binario)] = '\0';
 strcat(OUT,binario);

 printf("%s%031d\n",OUT,0);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

So uns detalhe..sou uma amiga...huashuashuh

bah valeu pela ajuda...

soh mais umas coisinhas...

a coisa mais boba mas não to conseguindo...

a pessoa digita nbits e devo acrescentar zeros a esquerda ate fechar 64

e como faço p zerar uma string...tipo preciso uma string d 32 zeros...já deve estar no programa...

bju e mais uma vez valeu pela ajuda

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.