|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
[C] Problemi con valori reali
Ciao a tutti!
Quando faccio operazioni con numeri reali il risultato finale è sempre 0.00000. Non riesco a capire perché. Ad esempio vi posto questa funzione che ho fatto la quale mi restituisce come risultato sempre 0.00000: double eval(double *p, double x, int n){ double res=0.0; int i; for(i=n; i<n; i++){ res+=i*(pow(x,i)); } return res; } Perché facendo una printf del risultato mi da 0? Grazie. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9569
|
for (i=n; i<n; i++)...
a cosa ti serve il puntatore a double *p?? |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
No infatti mi sa che l'ho scritta male, perché il puntatore a double mi serve per passare un array. quindi il for sarebbe:
for(i=n; i<n; i++){ res+=p[i]*(pow(x,i)); |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
Prova cosi': Codice:
for (i = 0; i < n; ++i) { res += p[i] * (pow(x, i)); }
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
Si hai ragione magari ho copiato male, ma quello che volevo sapere perché il risultato dell'espressione è sempre 0. Ma mi è successo anche con altri programmi.
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9569
|
manugal sai come funziona il ciclo for??
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
Scusami eh però qui non è una questione di ciclo for o no. Ho capito che il ciclo è così infatti ho ricontrollato ed è così. Il problema è che la somma tra numeri reali mi viene sempre zero.
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9569
|
se inizializzi i=n e poi vai a fare il controllo i<n grazie al ... che ti viene sempre zero! il ciclo for non viene mai eseguito!
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
Ok ora ho capito grazie. Un'ultima cosa... come faccio a dire che un intero positivo può essere scritto come potenze di 2?
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:06.