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

mapb_1990

Tratar algarismos de um numeros

Mensagens Recomendadas

mapb_1990

boas, pessoal.

tou aqui com um problema a resolver um exercicio à cerca de tratar algarismos de um numero.

alguem ajuda.

/* Desenvolva um algoritmo que lê um número com mais de três

algarismos e indica quantos dos seus algarismos são maiores

que os seus vizinhos.  */

NOTA: nao se pode usar vectores


Serviços de WebDesignwww.miguelborges.com

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mogers

Só precisas de analisar 3 dígitos consecutivos de cada vez, como é que costumas obter os dígitos de um número inteiro?


"What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine

Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Warrior

O algoritmo é simples, mas não o devemos fazer.

Quando tens um trabalho que tens que fazer, é por um de dois motivos: necessitas do resultado final, ou vais aprender com a sua realização. Este é claramente o 2º caso, o exercício foi-te proposto para tu aprenderes com ele.

Se deixares (pseudo)código ou explicares o que pretendes fazer, certamente que corrigimos os erros ou encaminhamos na direcção correcta, mas tens que ser tu a ter a iniciativa e a pegar no problema por um dos lados.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
koolshen

Por acaso até deve ser que eu também já o resolvi e deu-me algum trabalho, ainda estou a tentar acabar o terceiro exercicio!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jon123

Também ando no isep e também tenho esse exercício para fazer, os outros dois fiz sem qualquer tipo de problema, mas este esta-me a "comer a cabeça" :|

Eu sei como faze-lo, mas não consigo passar as minhas ideias para código. Sei que tenho que fazer o resto da divisão inteira por 10 para saber os dígitos do numero e depois tenho que comparar cada resto da divisão com o seguinte.

Até agora fiz o seguinte código:

Inicio

Repetir

Ler(Num)

Enquanto (Num<100)

Ler(Num)

FimEnquanto

Agora o resto já tentei varias formas e não consigo, se alguém poder dar uma ajuda agradecia.

Cumps :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Warrior

Visto que há várias pessoas com problemas posso dar algumas dicas:

Caso o número tenha K algarismos (vamos assumir sempre que K>=3), quantos números podemos ter que obedeçam à condição? K-2

Como é que podemos ir buscar o algarismo K de um dado número?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
djthyrax

Podemos ter infinitos :s

Acho que são o numero de divisoes por 10 que temos que fazer.

Nem mais. Mas têm que ter em atenção que o 1º e ultimo algarismo só têm 1 vizinho.

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mogers

Simulem um exemplo à mão:

num = 12345

teste 4 e 5

teste 3 , 4 e 5

teste 2 , 3 e 4

teste 1 , 2 , 3

teste 1 e 2

Como fazer isto ?

PS: se quiserem simplificar, comecem por considerar apenas os casos em que têm 3 digitos.


"What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine

Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação.

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.