Constructeur

Signaler
Messages postés
6
Date d'inscription
mardi 12 décembre 2006
Statut
Membre
Dernière intervention
19 décembre 2006
-
Messages postés
416
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
19 décembre 2013
-
Salut,
j'ai crée une classe pour gerer les grends nombres, cette classe contient un tableau dynamique d'entiers et un booleen pour savoir si le nombre est negatif ou non. j'ai crée des opérateurs addition, soustraction, multiplication et les fonctions qui vont avec; mais j'ai un probleme pour le constructeur. l'utilisateur devra entrer au clavier un nombre très grand (avec beaucoup plus de chiffres que ce qu'un int peut prendre en compte) comment dois-je déclarer cette entrée comme une string, comme une list, struct?? et apres comment gerer le constructeur qui va me transformer cette entrée en tableau dynamique d'entiers???
je suis quasi-debutante en C++, et là je suis perdue. merci d'avance pour vos suggestions.

Freeskieuse

6 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

faut voir comment tu places les nombres en mémoires, mais normalement, le plus simple, c'est de construire le nombre à partir d'un string

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
6
Date d'inscription
mardi 12 décembre 2006
Statut
Membre
Dernière intervention
19 décembre 2006

merci, effectivement prendre un string supprimerait le probleme de la taille de l'entier a rentrer, mais apres je ne sais pas du tout comment recuperer un par un les elements du string pour les mettre dans mon tableau dynamique d'entiers. d'ailleurs ca me pose meme un probleme pour le premier caratere qui devrait etre le signe et donc pas un chiffre... bref je suis paumée.
merci d'avance

Freeskieuse
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
21
strng s = "-123";
char signe = s[0];
pour recupérer un chiffre s[i];
++
Messages postés
6
Date d'inscription
mardi 12 décembre 2006
Statut
Membre
Dernière intervention
19 décembre 2006

merci beaucoup, je n'ai plus qu'à essayer!

Freeskieuse
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

euh... ça, pas forcément, car "42" aura quoi comme signe et valeur cette fois ci ?

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
416
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
19 décembre 2013
2
La meilleure des choses est de fixer une limite pour tes grands nombres. Sont-ils sur 64 bits(auquel cas il existe __int64 sous windows), sur 128bits ....! ensuite tu peux creer une union representant les differentes parties d'un grand nombre . Pour entrer ce nombre tu n'auras qu'a saisir les parties du nombre sous forme de tableau de caracteres vu tu sais automatiquement la taille de ton grand nombre : cin.getline(char[] buffer, unsigned buffer_size);
   LE reste ne sont que calculs mathematiques
[size=4] je suis heureux de faire partie d'une grande famille ...!/size=4