Evenilink Posted March 11, 2015 at 06:50 PM Report Share #579167 Posted March 11, 2015 at 06:50 PM (edited) Boas pessoal, Estive a tentar fazer um exercício em que nos é pedido para mostrarmos o resultado com as mesmas casas decimais que o delta. Ou seja, quando nos é pedido o delta, se introduzirmos 0.001, o resultado final tem de ser algo como 2.456... O meu problema é que, com o código que desenvolvi, só consigo contar as casas decimais se houver apenas um número diferente de zero, por exemplo: 0.001... Se fosse 0.04621 contaria apenas como se tivesse só uma casa decimal... 😞 Podem me ajudar neste problema? Um obrigado desde já! 😄 #include <iostream> #include <iomanip> using namespace std; int determina_casas_decimais(double num) { int j; double i; for (i = num, j = 0; i <= 9; i = i*10) { j++; } cout << j - 1; return 0; } int main() { int n, n_max_iter, n_casas_decimais; double rq = 1; double rqn, dif, delta; cout << "Qual a raiz que pretende calcular: "; cin >> n; cout << "Introduza o delta (valor minimo): "; cin >> delta; cout << "Introduza o nMaxIter (numero maximo de iteracoes): "; cin >> n_max_iter; while (n_max_iter > 0 || dif > delta) { rqn = (rq + n / rq) / 2; dif = n - (rqn*rqn); n_max_iter--; rq = rqn; } cout << fixed << setprecision(determina_casas_decimais(delta)) << "Usando o nosso algoritmo, a raiz de " << n << " e igual a: " << rqn << endl; cout << "Usando a raiz propriamente dita, a raiz de " << n << " e igual a: " << sqrt(n) << endl; } Edited March 11, 2015 at 06:53 PM by Evenilink Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 11, 2015 at 06:55 PM Report Share #579168 Posted March 11, 2015 at 06:55 PM a descrição do problema é demasiado confusa ... tens de ser mais claro a explicar o que é pretendido ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now