Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
mapb_1990

Tratar algarismos de um numeros

Recommended Posts

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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites
Warrior

É só isso que precisas.

E ter cuidado com os dois casos especiais: o primeiro e o último algarismo só têm um vizinho.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites
André Sousa

Por acaso não és de LEI-ISEP, 1º ano? É que eu ja resolvi esse exercício idêntico para entregar...

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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 :)

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.