MULTIPLICATION DE GRANDS NOMBRES

pcmanof94 Messages postés 4 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 26 février 2006 - 26 févr. 2006 à 15:13
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 26 févr. 2006 à 20:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36269-multiplication-de-grands-nombres

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
26 févr. 2006 à 20:33
Bon pour te montrer un exemple de surchage d'addition. Si ta classe, on l'appelle VLI (very large integer) où chaque objet est constitué d'un tableau alloué statiquement (et non dynamiquement comme tu le fais dans ta source) de TAB_SIZE entiers (environ 1000 pour des grands chiffres). Ta classe a l'allure suivante:

classe VLI
{
public:
...

// on définie l'opérateur +. Puisque c'est opérateur est symétrique, il est plus logique de le déclarer en fonction ami et donc externe

friend VLI operator + (const VLI & _objet1, const VLI & _objet2);

private:

unsigned int tab[TAB_SIZE];
};

// et apres on définie la fonction d'addition
VLI operator + (const VLI & _objet1, const VLI & _objet2)
{
VLI new_VLI;
// la tu fais l'addition de ces deux VLI (_objet1 et _objet2), tu stockes le résultat dans new_VLI.

// et tu retournes le nouveau VLI créé.
return new_VLI;
}

Et maintenant dans ton programme, tu pourras écrire :

VLI c(a + b); // en utilisant l'opérateur de recopie et en considérant que a,b sont initialisés correctement.

Si tu surchares l'opérateur << du C++. Tu pourrais écrire: cout << a + b << endl;

Bon aller, voila pour une petite présentation. ++
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
26 févr. 2006 à 20:23
Oke si tu débutes le C. J'ai pas fais assez attention. Tu précisais en C :)
Dans ma tete, le C++ permet tellement plus de chose, donc pour moi c'était du C++.
Mais meme si tu ne fais pas un système de classe. Tu peux te pencher sur les structures, et fournir une série de fonction avec. Comme des fonctions pour additionner, multiplier,... ces grands nombres.

Mon avis personnel étant que, ce site n'a pas pour but d'accueillir les essais personnels en matière de programmation. Si tu regardes ce site, il y a des quantités de sources très avancés qui ont un intérêt, car non seulement elle représente bcp de travail, ou elles présentent autre chose que ce que tout le monde sait à peu près faire.

Pour l'orienté objet, il y a des quantités de documents sur le C++ sur le web. En programmation basique, ton meilleur ami, c'est Google.

Pour ce qui est de la surchage des opérateurs, tu penses bien qu'il est hors de question de parser une string :)

Bon a part tout ca, bonne continuation en C :)
TRAX44 Messages postés 93 Date d'inscription mercredi 18 septembre 2002 Statut Membre Dernière intervention 20 juillet 2006
26 févr. 2006 à 19:48
j'ai commencé ce programme deux jour après avoir commencé a touché au C. Je ne saivais même pas (quand je l'ai fait) qu'il existait un system de classe en C.
Sinon pour surcharger les opérateur en orienté objet je vois pas comment il est possible de faire (a part parser une string).
Luthor, tu pourrais nous fair un petit tuto pour nous expliquer ? :D
Sinon, non c'est pas extraordinaire, ça permet juste de pas utiliser un truc tout pret que tu sais pas comment ça marche :)

@+
trax
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
26 févr. 2006 à 19:40
C'est pas réutilisable comme code ca. Faut créer une classe pour gérer ca, surcharger les opérateurs. Enfin plein de truc qui feraient que quelqu'un d'autre puisse l'utiliser.
Car en lui meme, le principe n'a rien d'extraordinaire.

++
TRAX44 Messages postés 93 Date d'inscription mercredi 18 septembre 2002 Statut Membre Dernière intervention 20 juillet 2006
26 févr. 2006 à 15:17
j'ai déjà fait un gros effort avant de poster. et je veux pas la note d'un ami mais celle d'un regart critique ! :)
pcmanof94 Messages postés 4 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 26 février 2006
26 févr. 2006 à 15:13
tu pourais faire un petit effort de lisiblilité lol ton code ressemble pas mal a ta chambre ...
mais bon je t'aime bien mon petit traxou et ca marche donc je te met a 9/10 lol
Rejoignez-nous