Gr4v370 0 Denunciar post Postado Março 26, 2011 Ola pessoal! Gostaria de saber como faço para colocar zeros a esquerda de uma string em linguagem C. Exemplo string com 6 posições: User digita: 12 A strig deve armazena: 00012 Eu consigui colocar os zeros a direita (Como está no codigo abaixo), mas a esquerda está impossível. :( #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char digitado[6]; int k; printf ("\nDigite 5 digitos ou menos: "); scanf("%s", digitado); for (k=0; k<5; k++) { if (digitado[k]>=0 && digitado[k] <=4) { digitado[4]= digitado[k]; digitado[k]= 48; } printf("Digitado: %c\n\n",digitado[k]); } system("PAUSE"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
Lugaid 0 Denunciar post Postado Março 26, 2011 O número de caracteres da string pode variar? Se não fica mais fácil... Faz uma variável que recebe o tamanho da string digitada (sugiro o uso da função strlen). Depois passa os chars digitados para o fim da string (com um for da pra fazer), e nas primeiras posições insira os 0... Deu pra entender? Compartilhar este post Link para o post Compartilhar em outros sites
Gr4v370 0 Denunciar post Postado Março 26, 2011 O número de caracteres da string pode variar de acordo com a quantidade e caracteres que for digitado, respeitando o limite de 5 digitos. Não entendi como fazer do jeito que você explicou! Compartilhar este post Link para o post Compartilhar em outros sites
Lugaid 0 Denunciar post Postado Março 26, 2011 Por exemplo, você digito 12. A string vai ficar mais ou menos assim: string[0] -> 1 string[1] -> 2 string[2] -> \0. Um jeito que pensei em fazer (pode não ser o melhor, e podem existir outros) seria: Mover os caracteres para as posições da frente, por exemplo o 2 vai pra posição string[5] e o 1 para string[4], ai é só colocar 0 nos anteriores string[0], string[1], etc. Compartilhar este post Link para o post Compartilhar em outros sites
Gr4v370 0 Denunciar post Postado Março 26, 2011 Entendi, mas como eu faço isso? É parecido com o meu codigo acima? Compartilhar este post Link para o post Compartilhar em outros sites
Gr4v370 0 Denunciar post Postado Março 27, 2011 Consegui, não sei se foi do jeito mais certo, mas... Criei outra STRING e coloquei os valores nessa nova string. Exemplo: novaString[0]=digitado[4] novaString[1]=digitado[3] etc. Até chegar posição[4]=posição[0] Obrigado. Resolvido :D Compartilhar este post Link para o post Compartilhar em outros sites