|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 704
|
[c++] Funzione Approssimazione all'intero + vicino
Ciao a tutti...
Ho il seguente problema.. devo approssimare una serie di numeri (che di certo saranno float) all'intero più vicino... ad esempio se ho 10.2 e 10.8.. il primo deve diventare 10 ed il secondo 11 Mi sapreste dare una mano? Grazie Simo |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Oct 2005
Messaggi: 17
|
Dovresti sottrarre al numero il cast int di se stesso, e quindi otterresti un valore compreso tra 0.0 e 0.9, quindi nel caso questo valore superi 0.5 restituisci il cast +1 altrimenti il solo cast.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Così dovrebbe andare:
Codice:
double round(double num)
{
double diff = abs(num - (int)num);
if((diff >= 0.5 && num < 0) || (diff < 0.5 && num >= 0)
return (int)num - 1;
return (int)num + 1;
}
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 704
|
..adesso di sicuro mi ci mandate...
Non devo approssimare all'intero + vicino.. ma a quello superiore.... Sorry... Mi sapreste dire come fare? Grazie adesso ci provo io.. prendendo spunto dal programmino appena postato.. double round(double num) { return (int)num + 1; } in sostanza a 9.2 gli prendo la parte intera.. cioè 9 e gli sommo una unità.. problema risolto.. Grazie ancora!!! Ultima modifica di AYAMY : 25-02-2007 alle 14:54. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Giusto...mi dimenticavo di ceil e floor
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 704
|
grazie ragà siete il top!!!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:16.



















