Toutes les combinaisons

Résolu/Fermé
AlgoFlash - 27 mars 2009 à 10:44
star.ahmed35 Messages postés 4 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 22 novembre 2009 - 21 nov. 2009 à 20:24
Bonjour,


Je cherche le moyen (ou un programme s'il existe) pour trouver toutes les combinaisons possibles de 4 caractères avec les caractères hexdécimaux soit ABCDEF0123456789.

Merci d'avance de votre aide.

4 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
27 mars 2009 à 10:52
tu fais (en C)
for (int i=0; i<=0xFFFF;i++)
     printf("%x\r\n",i);
et tu les aura tous ;)
0
Wahou! Quelle rapidité !

Merci beaucoup, je vais essayer ça!
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193 > AlgoFlash
27 mars 2009 à 10:56
et il y a 2^(16) possibilités.. ca en fait une chié

j'espere que tu as comprit le fonctionnement du code !
0
AlgoFlash > Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014
27 mars 2009 à 11:04
for (int i=0; i<=0xFFFF;i++)
printf("%x\r\n",i);

Oui j'ai compris! on commence à 0, on incrémente jusqu'à la valeur maximale soit FFFF

Mais je ne suis pas programmateur et je ne sais compiler que dans dev-cpp mais j'ai une erreur de compilation avec ce code

[code]#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
for (int i=0; i<=0xFFFF;i++)
printf("%x\r\n",i);
system("PAUSE");
return 0;
}
[/code]

C:\Dev-Cpp\MES PROJETS\HexaPWDGen\main.c In function `main':
C:\Dev-Cpp\MES PROJETS\HexaPWDGen\main.c 'for' loop initial declaration used outside C99 mode
C:\Dev-Cpp\MES PROJETS\HexaPWDGen\Makefile.win [Build Error] [main.o] Error 1
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
27 mars 2009 à 11:16
essayes peut etre ca:
int main(int argc, char *argv[])
{
   int i;
   for (i=0; i<=0xFFFF;i++)
   printf("%x\r\n",i);
   system("PAUSE");
   return 0;
} 
tu peux aussi virer le \r\n dans le printf et remplacer par un espace si tu veux tout voir a l'écran ;)
0
Merci beaucoup ca fonctionne mieux en déclarant i ;)

je ne voudrais pas abuser .....Serait -il complexe de faire en sorte que le résulta s'inscrive dans un fichier *.txt
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
27 mars 2009 à 11:29
allé, on va faire ca les mains en l'air, sans toucher le programme ;)

tu executes ton programme depuis l'invite de commandes, et tu fais
TON_PROGRAMME>TON_FICHIER_TEXTE.txt

le > fait sortir dans un fichier plutot qu'à l'écran
0
Que demande le peuple !

Merci beaucoup à toi . A +
0
star.ahmed35 Messages postés 4 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 22 novembre 2009 3
21 nov. 2009 à 20:24
Salut
je cherche un programme c ou c++ ou pascal ou basic ou n'inporte quels langage informatique qui permet de resoudre le probleme suivante:
je cherhe les combinaisons des X entiers a base de N

le programme doit me demander de:
* définir X (de type entier )
*saisir le x elements
* définir N (de type entier)
et affiche:
*les nombres des combinaisons possibles
*surtout affichée les différentes combinaisons possibles de X entier a base de N

exemple:
si X=3 ( 1 ; 3 ; 5 )
N=3
le programme affiche:

111 113 131 115 151 133 155 135 153
333 331 313 335 353 311 355 315 351
555 551 515 553 535 511 533 513 531

27 combinaisons

remarques:
*les combinaisons possibles peuvent contenir avec les combinaisons dont lequel il y a tout les X éléments d'autre combinaisons dont lequel on répète le même entier 2 fois ou 3 fois jusqu'à N fois.

* étant donner que la solution et un peut délicat dans le cas général (si il y a une solution dans le cas général avec X et N saisis au clavier sinon on fixe X=3 et je laisse N saisie au clavier et je cherche la solution de ce problème)

si quelqu'un pouvez me aider merci d'avance.
0