Bemc 0 Denunciar post Postado Junho 6, 2008 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
quitZAUMMM 18 Denunciar post Postado Junho 6, 2008 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
Bemc 0 Denunciar post Postado Junho 6, 2008 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
quitZAUMMM 18 Denunciar post Postado Junho 6, 2008 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
Bemc 0 Denunciar post Postado Junho 7, 2008 é 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
José Enésio 4 Denunciar post Postado Junho 7, 2008 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
_Isis_ 202 Denunciar post Postado Junho 7, 2008 #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
Bemc 0 Denunciar post Postado Junho 7, 2008 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
_Isis_ 202 Denunciar post Postado Junho 9, 2008 memset(str,(int)'0',32); Compartilhar este post Link para o post Compartilhar em outros sites
Bemc 0 Denunciar post Postado Junho 16, 2008 Bha..pessoal valeu muito pela ajuda.... agradeço.. até a proxima Compartilhar este post Link para o post Compartilhar em outros sites