[C] Nombre Enorme

Nombre Enorme [C] - C++ - Programmation

Marsh Posté le 10-12-2002 à 08:22:11    

Bonjour,
j'aurais besoin de travailler et de stocker plusieurs chiffres allant de 1 a 100000000000000000000000000
voila alors j'ai un petit souci car j'arrive pas a trouver comment le gerer  :pt1cable:  
MERCI !!

Reply

Marsh Posté le 10-12-2002 à 08:22:11   

Reply

Marsh Posté le 10-12-2002 à 08:32:15    

sous forme entiere ? sinon une représentation approximative à l'aide des nombres flottants existe.
 
type: float, double (precision etendue)


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 10-12-2002 à 08:58:36    

Taz@PPC a écrit :

sous forme entiere ? sinon une représentation approximative à l'aide des nombres flottants existe.
 
type: float, double (precision etendue)


en verité il faudrait que je sache exactement le chiffre mais par exemple 1.10^26 me va tres bien....
j'explique pk je veut faire ca:
je voudrait simplement que le 'a' =>1
                              'b' =>10
                              [...]'z'=>1.10^26
car comme ca je saurais que le mot bonjour par exemple vaudras  
1001002100010000000010
comme ca si j'ecris 'njoourb' avec cette methode je retrouverais bonjour.... je suis clair?

Reply

Marsh Posté le 10-12-2002 à 09:01:35    

sous unix, gmp.
il est peut-etre possible de le faire marcher sous windows, mais j'ai pas essayé.
 
sinon pour ton probleme, c'est peut-etre pas la solution la plus adaptée...

Reply

Marsh Posté le 10-12-2002 à 09:04:16    

lorill a écrit :

sous unix, gmp.
il est peut-etre possible de le faire marcher sous windows, mais j'ai pas essayé.
 
sinon pour ton probleme,  c'est peut-etre pas la solution la plus adaptée...  

lol oui y'a des chances mais ca va faire 3 jours que je retourne le p rblm dans tout les sens...
le truc c'est que j'aimerais faire en C un petit pg qui qd on lui  mais des lettres (9) il retourne le mot qu'on puisse faire avec... pq je suis nul au scrabble...  :)  ;)  :wahoo:

Reply

Marsh Posté le 10-12-2002 à 09:12:14    

un int64 ça passe pas ?

Reply

Marsh Posté le 10-12-2002 à 09:12:48    

Kyle_Katarn a écrit :

un int64 ça passe pas ?


 :sweat: ... je connais pas... c'est koi?

Reply

Marsh Posté le 10-12-2002 à 09:29:41    

albino13 a écrit :


en verité il faudrait que je sache exactement le chiffre mais par exemple 1.10^26 me va tres bien....
j'explique pk je veut faire ca:
je voudrait simplement que le 'a' =>1
                              'b' =>10
                              [...]'z'=>1.10^26
car comme ca je saurais que le mot bonjour par exemple vaudras  
1001002100010000000010
comme ca si j'ecris 'njoourb' avec cette methode je retrouverais bonjour.... je suis clair?


En français ça donne quoi ?
Sinon tu peux utiliser les chaines de caractères (tableau) mais il n'existe aucune opération pour faire des calcules. Mais tu veux en faire quoi de ton grand nombre ?


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

Marsh Posté le 10-12-2002 à 09:31:08    

DarkOli a écrit :


En français ça donne quoi ?
Sinon tu peux utiliser les chaines de caractères (tableau) mais il n'existe aucune opération pour faire des calcules. Mais tu veux en faire quoi de ton grand nombre ?


a ce que j'ai compris, des tests d'égalité, pour voir si avec les lettres qu'il a en main il peut ou non placer ce mot.

Reply

Marsh Posté le 10-12-2002 à 09:31:17    

albino13 a écrit :

lol oui y'a des chances mais ca va faire 3 jours que je retourne le p rblm dans tout les sens...
le truc c'est que j'aimerais faire en C un petit pg qui qd on lui  mais des lettres (9) il retourne le mot qu'on puisse faire avec... pq je suis nul au scrabble...  :)  ;)  :wahoo:  


A mon avis le plus efficace serai de faire un algorythme basé sur un dictionnaire de mot avec construction des mots possible en se basant sur une recherche par ordre alphabétique.
Et pourquoi pas, tant qu'on y est, tenté l'expérience à la fois simple et merveilleuse des réseaux de neurones ? ( non, là je déconne  :D )


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
Reply

Marsh Posté le 10-12-2002 à 09:31:17   

Reply

Marsh Posté le 10-12-2002 à 09:33:02    

albino13 a écrit :

lol oui y'a des chances mais ca va faire 3 jours que je retourne le p rblm dans tout les sens...
le truc c'est que j'aimerais faire en C un petit pg qui qd on lui  mais des lettres (9) il retourne le mot qu'on puisse faire avec... pq je suis nul au scrabble...  :)  ;)  :wahoo:  


Ben c'est facile !!!
Il te faut juste un tableau de 9 lettres (donc un char[10]).
Pis surtout un dictionnaire .... pour que ton pragramme puisse analyser tout les mots pour ensuite te dire si tu peux le faire.


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

Marsh Posté le 10-12-2002 à 09:33:30    

de toute façon ce système est déjà un système de dico, mais avec une étape de remplacement supplémentaire des letttres par des nombres..
 
je vois pas l'intêret puisqu'il faudra de toute manière indiquer au prog que bonjour = 111111000011101....


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 11-12-2002 à 02:12:54    

C'est pas un grand nombre que tu demandes, mais un tableau de compteurs !

Code :
  1. typedef unsigned char compteurs[26];
  2. void compter(compteurs* cpt, char* mot){
  3. for( ; mot != '\0' ; mot++){
  4.  int indice= *mot-'a';
  5.  (*compteurs)[indice]++;
  6. }
  7. }


Après il y a un travail combinatoire.
Mais si tu ne veut que des mots valides, ça va être plus compliqué...


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le 11-12-2002 à 08:39:51    

int64 ca n'existe pas. par contre "long long int" oui


Message édité par Taz@PPC le 11-12-2002 à 08:40:00

---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 12-12-2002 à 02:36:34    

Non, "long long int" n'existe pas non plus.
 
Ah zut, en C99 si et en C++ non.
Cette anomalie ne saurait perdurer !


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le 12-12-2002 à 10:36:37    

Musaran a écrit :

Non, "long long int" n'existe pas non plus.
 
Ah zut, en C99 si et en C++ non.
Cette anomalie ne saurait perdurer !


et pis __int64 :??:


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

Marsh Posté le 12-12-2002 à 11:36:18    

DarkOli a écrit :


et pis __int64 :??:

le "__" indique clairement que ça fait partie de l'implémentation


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 13-12-2002 à 09:08:27    

c quoi C99 ?


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 13-12-2002 à 12:11:17    

la dernière norme du C (les langages informatiques évoluent aussi ;) )


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 14-12-2002 à 00:15:29    

ah ... ok :p


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 14-12-2002 à 12:22:30    

DarkOli a écrit :


Ben c'est facile !!!
Il te faut juste un tableau de 9 lettres (donc un char[10]).
Pis surtout un dictionnaire .... pour que ton pragramme puisse analyser tout les mots pour ensuite te dire si tu peux le faire.


Kler!  quand j'ai fait les chiffres et les lettres en VB (beeuurk), ca se passait tres bien comme ca et c'etait tres performant. Il suffit de reflechir deux secondes sur la facon d'organiser les mots.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed