Jump to content
JakeBass

nº de casas decimais

Recommended Posts

JakeBass

podem-me dar alguma dica para definir o nº de casas decimais?

queria fazer isto sem utilizar strings ou funções pre-definidas.

int calculatePi(int n_digits)
{
long double scale = 1;
for( int a = 1; a < n_digits; a = a + 1 )
{
 int d_factor = pow(10, a);
 scale = scale / d_factor;
}
long double value = (pi / scale) * scale;
return value;
}

Edited by apocsantos
geshi

Share this post


Link to post
Share on other sites
HappyHippyHippo

tens uma função que retorna um inteiro e depois colocar um long double como valor de retorno ?

além disso, perguntas como "definir o nº de casas decimais", mas definir como ? em programação isso não funciona assim

tens de ser mais claro no que enquadra o problema


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
JakeBass

obrigado, era isso e o loop.

é um exercicio na command line: introduz-se o nº de dígitos, e retorna o valor de pi.

long double calculatePi(int n_digits)
{
long double scale = 1;
int d_factor;

for( int a = 1; a < n_digits; a = a + 1 )
{
 d_factor = pow(10, a);
}

scale = scale / d_factor;
long double value = (pi / scale) * scale;
return value;
}

Edited by apocsantos
geshi

Share this post


Link to post
Share on other sites
soniculture

Olá Sketxz,

Antes de mais acho que estás a abordar mal o problema à partida.

O objectivo deste problema é usares strings, algo que à partida descartas.

Ou seja, o objectivo deste tipo de problema é teres um número tão mas tão grande que não o consegues representar com inteiros.

Para isso tens que usar Strings ou Strings decimais como normalmente se referem neste tipo de problemas.

Caso contrário não tem grande ciência.

Algumas notas:

long double value = (pi / scale) * scale; // qual o objectivo????

Não escrevas isto assim:

for( int a = 1; a < n_digits; a = a + 1 )

Escreve assim:

for( int a = 1; a < n_digits; a++ )

Existe um livro excelente chamado Programação com Classes em C++ da FCA onde tes a resolução deste problema!!!

Cumprimentos.

Share this post


Link to post
Share on other sites
HappyHippyHippo

O objectivo deste problema é usares strings, algo que à partida descartas.

como podes ter tanta a certeza sobre esse ponto ? estudas no mesmo local ?

é que quando uma pessoa diz à cabeça que um método não pode ser utilizado é mais normal ser uma imposição do que falta de conhecimento


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
soniculture

Por e simplesmente porque o problema se torna de certa forma trivial!

É um exercício típico de programação com strings...

Só por isso!

Share this post


Link to post
Share on other sites
HappyHippyHippo

mas o problema é estares a impor uma suposição sobre o problema.

o que deverias ter feito não era descartar por completo a afirmação do criador do tópico, mas sim questionar/duvidar da restrição apresentada e perguntar de onde vem essa impossibilidade


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
soniculture

Bah... eu não impus nada!!!!

Só disse que estava a abordar mal o problema e em minha opinião está.. só isso!

A intenção é ajudar e sinceramente acho que ajudar também é dar opinião sobre o método de resolução e não só sobre o código.

Mas registei a tua dica!

Obrigado :)

Aliás PI calcula-se através de uma sucessão... o que até dá jeito para programar!!! Só para dar atirar mais uma farpa...

Share this post


Link to post
Share on other sites
h9armando

Nada de flame wars!

Eu não entendo porque é que o OP não quer usar strings, mas se impõe isso, tudo bem.


"Κορμί παγωμένο βρίσκεται δω Μυαλό μεθυσμένο απ' τον πόνο αυτό" - Σ.Σ. 

 

Ego: heldernovais.github.io

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

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.