changer un entier en double ? ou bien mon algo est mauvais ...help - C++ - Programmation
Marsh Posté le 08-07-2003 à 12:29:57
t'as pas fini tes conneries? ta fonction digit est un desastre. fais un recherche sur le forum sur comment transformer un nombre en chaine, y a des tas d'exemples 'C++' à base de string (et pas mauvais C n'est ce pas). ton code est d'ailleurs invalide en C++ à cause tu ableau à taille variable ...
Marsh Posté le 08-07-2003 à 12:32:59
eh, Taz, tu m'en laisses un bout, dis ?
Marsh Posté le 08-07-2003 à 12:33:20
++Taz a écrit : t'as pas fini tes conneries? ta fonction digit est un desastre. fais un recherche sur le forum sur comment transformer un nombre en chaine, y a des tas d'exemples 'C++' à base de string (et pas mauvais C n'est ce pas). ton code est d'ailleurs invalide en C++ à cause tu ableau à taille variable ... |
meuh non ca a lair bien
je rentre un nombre int.
j obtiens sa longueur avec 1 + abs(log10(nombre))
je converti ce nombre en string avec itoa
et voila.
Marsh Posté le 08-07-2003 à 12:34:55
farib a écrit : oh le superbe rebouclage en récursif ! |
j aimerai plus de details je ne demande qu a aprendre et m ameliorer, je nai jamais poster un bout de code sans critique, c est si moche que ca ?
Marsh Posté le 08-07-2003 à 12:35:30
bah déja je comprend pas ce que ton programme est sensé faire...
edit : ah, si
Marsh Posté le 08-07-2003 à 12:42:25
Code :
|
mais t'as interet et a verifier ton indice k et à gérer le cas ou on renvoie le '-'
Marsh Posté le 08-07-2003 à 12:45:31
++Taz a écrit :
|
merci, et sinon tu vois une autre methode sans faire appel sstream ?
Marsh Posté le 08-07-2003 à 12:59:29
Et un truc du genre :
Code :
|
Marsh Posté le 08-07-2003 à 13:02:31
mouef, ça doit marcher aussi
au fait: si tu fais
#include <cmath>
pow est introduit dans std::
par contre, effectivement, si tu fais
extern "C"
{
#include <math.h>
}
alors oui, pow est dans le référenciel lexical global.
Marsh Posté le 08-07-2003 à 13:09:47
HelloWorld a écrit : Et un truc du genre :
|
ca marche bien aussi maia y aun truc bizarre
::pow( sa amrche tout suel sans inclure cmath !
lorsque j inclus cmath et j enleve les ::
il memerde avec double , int ect ..
a quoi serve c :: ?
thks
Marsh Posté le 08-07-2003 à 13:16:56
ReplyMarsh Posté le 08-07-2003 à 13:28:29
coulix a aucune notion d'objet. alors on va le laisser tranquille avec les NS et arretez de l'embrouillez. tu vous using namespace std; partout et voilà
Marsh Posté le 08-07-2003 à 13:32:10
++Taz a écrit : coulix a aucune notion d'objet. alors on va le laisser tranquille avec les NS et arretez de l'embrouillez. tu vous using namespace std; partout et voilà |
j ai compris que les ::
sa marchait comme ca
Code :
|
mais :: tout seul ????
Marsh Posté le 08-07-2003 à 14:47:34
C'est le namespace global.
Code :
|
Marsh Posté le 08-07-2003 à 15:24:19
HelloWorld a écrit : C'est le namespace global.
|
ok tks sa refere a une var globale en fait
Marsh Posté le 08-07-2003 à 12:23:11
en cherchant sur le forum j ai trouver ca : int number_of_digits= 1 +(int) log10(abs(a)); qui mest bien util.
l ennonce du pb est de crer une fonction int digit( int n, int k)
qui renvoie le chiffre d un nombre.
exemple :
digit(5642,0) = 2
digit(5645,2) = 6
j ai fait ca mais le compilo memerde pour la conversion de int en double pour log10.
j ai regarder du cote conversion int en double et vice versa, y apas uen autre methode ??
merci