bonjour,
j'ai un entier entre 0.0 et 99.99 que je voudrais arrondir à x (x étant un réel qui est la plus part du temps un multiple de 0.25 : 0.25, 0.5 ou 0.75)
Exp :
x = 0.25
arrondir 9.23 à x => obtenir 9.25
merci
bonjour,
j'ai un entier entre 0.0 et 99.99 que je voudrais arrondir à x (x étant un réel qui est la plus part du temps un multiple de 0.25 : 0.25, 0.5 ou 0.75)
Exp :
x = 0.25
arrondir 9.23 à x => obtenir 9.25
merci
Une méthode (il y a sans doute mieux) :
Un rapide exemple en C++ (le code est moche, je l'ai fait à la va-vite) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 0. "Partie entière" = Partie entière du "nombre réel" 1. "Partie décimale" = "Nombre réel" - "Partie entière" 2. "Partie décimale" = "Partie décimale" * (1/0.25=4) + 0.5 3. Conversion "Partie décimale" en entier // On récupère la partie entière 4. Reconversion en réel // Résultat : ça a tronqué le nombre 5. division "Partie décimale" par (1/0.25=4) 6. "Nombre arrondi" = "Partie décimale" + Conversion "Partie entière" en réel
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include <iostream> using namespace std; int main(){ float fdepart; cin >> fdepart; int ientier = (int) fdepart; fdepart = fdepart - ientier; fdepart = fdepart*4 +0.5; fdepart = ((float) (int) fdepart) / 4 + ientier; cout << fdepart << endl; return EXIT_SUCCESS; }
bien le bonjour,
je suis pas sur d'avoir bien compris mais je propose ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 d=nombre mod 1 si |d-x| < 0.5 Alors retourner nombre-d+x sinon si (d-x < 0 ) Alors retourner nombre-d-1+x sinon retourner nombre-d+1+x finsi finsi
http://www.developpez.net/forums/viewtopic.php?t=175994![]()
@++Lisez la liste de tous les forums pour bien choisir, postez votre message dans un seul forum (Le Multipost est interdit)
R@f
Pour arrondir N à x près :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ROUND(N/x) * x
Envoyé par raf_gug
je ne savais pas que c'été interdit...mais je voulais absolument avoir plusieurs réponses
dsl
![]()
YEAHHHHHHHHH...ça marche 8) MERCIEnvoyé par pgibone
qq exemples :
arrondi de 0.83 à 0.1 près = 0.8
arrondi de 0.86 à 0.1 près = 0.9
arrondi de 0.73 à 0.25 près = 0.75
arrondi de 0.94 à 0.25 près = 1
la solution est :
[ent(2*n/x)-ent(n/x)]*x
tester et comparer et dite merci
ent : partie entière plus connue mathématiquement
round : fonction d'arrondi à l'entier le plus proche est peu connue, malgré qu'elle existe informatiquement.
Salut!
arrondir 9.23 à x => obtenir 9.25
- Tu divises par 0.25 et tu trouves 36.92
- Tu arrondis à l'unité (fonction Round), ce qui te donne 37.00
- Tu multiplies par 0.25 et tu trouves 9.25
Jean-Marc Blanc
Bonjour,
une solutions très rapide en C :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 double x = ??? ; double y = (int)(x * 4.0 + 0.5) / 4.0 ;
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Partager