Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

sent

separar um numero para um vetor (123 -> 1|2|3)

Mensagens Recomendadas

sent

estou com um problema e preciso da vossa ajuda: como contar quantas casas tem um numero e separado;

exemplo introduzir 19483 e ele dá 1 9 4 8 3, num vector de inteiros;

agradeço a vossa colaboração e obrigado  :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mAiN_iNfEcTiOn

dependendo de uma coisa... se o numero for inserido pelo utilizador...

guardas para um array do tipo char (ou seja uma string :D ) e assim já tens 2 coisas... acesso ao tamanho do numero (via strlen(var_array):) e o numero dividido por casas num array (onde em "abba" o primeiro "a" seria var_array[0]:D

Caso tenhas um numero guardado numa variável do tipo int....

uma maneira é, fazeres um while com divisões sucessivas por 10 até o numero deixar de ser inteiro (ou ser <=0) .... claro no while fazes a incrementação de uma variavel... normalmente denominada de contador....

a seguir, crias um array com o tamanho de acordo com o contador e chutas para la os inteiros, mais uma vez a fazer as divisões por 10 ... :/ digo eu claro :P

Não sou coder de C acho que existem melhores maneiras... mas pronto isto é uma maneira :D

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
sent

dependendo de uma coisa... se o numero for inserido pelo utilizador...

guardas para um array do tipo char (ou seja uma string :P ) e assim já tens 2 coisas... acesso ao tamanho do numero (via strlen(var_array):) e o numero dividido por casas num array (onde em "abba" o primeiro "a" seria var_array[0]:D

...

gostei, já sei como: vou fazer lei uma string e depois char a char subtraio 48 (na tabela de ASCII '0' e 48);

e já fico com o vector de inteiros; já que necessite deste para fazer contas e é melhor com array de inteiros;

obrigado :D

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Localhost

@sent, desculpa, estava distraído e disse função fprintf em vez de sprintf. Depois usas a função atoi como disse o main_infection.


here since 2009

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dnascimento

Se for introduzido pelo user: (em ficheiro é identico)

queres guardar isso num array? Tens limite predefinido ou é dinamico?

um while. Enquanto o int lido foi entre 0 e 9 (entre plicas), variavel++, guarda no ponteiro x (copia do ponteiro original do vector) e faz x++ para avancar o ponteiro, se for dinamica fazes um realloc (ou um malloc e copias tudo)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.