Programme de combinaison

Résolu
jesper1 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'aimerais pouvoir écrire un programme en C qui m'affiche les différentes combinaisons qu'on peut faire avec les chiffres 0 1 2 3 4 5 6 7 8 9. Un même chiffre peut être répété jusqu'à dix fois en commençant par 0000000000 et ensuite 0000000001 mais jusqu'à présent, j'ai réussi qu'à écrire un programme qui affiche les nombres se situant entre 0 et 9999999999 (le programme fonctionne et tourne depuis quatre heures ????) sauf que c'est pas vraiment ce que je cherche donc... pouvez vous m'aider ?
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,

peux-tu partager ton programme, en utilisant les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

peux-tu aussi expliquer le résultat que tu attends, et en quoi il est différent du résultat que tu obtiens, peut-être avec un exemple?
peut-être partager l'énoncé précis de l'exercice?
0
jesper1 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention  
 
C'est un programme tout simple basé sur la boucle "for"

#include <stdio.h>
#include <stdlib.h>

main()
{
    int i ;
    for ( i=0 ; i<=9999999999 ; i++ )
    {
        printf ("%d\n", i) ;
    }
}


Donc en gros, c'est ça. En exécutant ce code, le programme se met à me lister les tous les nombres de 0 à 9999999999. Ce que je voudrais moi, c'est qu'à partir des chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 il me liste tous les nombres de dix chiffres (toutes les combinaisons possibles) qu'on pourrait avoir avec ces chiffres en prenant en compte le fait qu'un même chiffre peut être répété 10 fois. En gros ça commencera avec 0000000000 pour finir avec 9999999999.
L'exercice est personnel
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > jesper1 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention  
 
tu n'expliques pas précisément en quoi ce que tu obtiens diverge de ce que tu souhaites obtenir. montre peut-être un exemple.
le programme fait clairement ce pour quoi il a été écrit. quel est le but de l'exercice personnel? comment en es-tu arrivé à écrire un programme qui te semble ne pas faire ce que tu veux faire?
veux-tu simplement afficher les zéros non significatifs? si oui, lis ceci: https://docs.microsoft.com/fr-fr/cpp/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions?view=msvc-160&viewFallbackFrom=vs-2019
0
jesper1 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Le programme que j'ai écrit fait ce qu'il est censé faire et liste les nombres qui se situent entre 0 et 9999999999. Je dis juste que c'est ce que j'ai réussi à faire. Ce que je voudrais moi, c'est un programme qui prend les chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 et les combine des différentes manières possibles de sorte à former un nombre de dix chiffres (de 0 à 9). En gros, je voudrais un programme qui me liste tous les nombres de 10 chiffres qu'on peut former avec 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Les premiers nombre de la liste devront donc être 0000000000 suivi de 0000000001 suivi de 0000000002 suivi de 0000000003 suivi de 0000000004 et ainsi de suite. Les derniers seront 9999999997 suivi de 9999999998 et enfin 9999999999
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > jesper1 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention  
 
n'obtiens-tu pas exactement ce que tu souhaites, à part les zéros non significatifs?
0
jesper1 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Le souci c'est justement ces zéros non significatifs. Je me demandais s'il y a possibilité de les afficher comme tout le reste. Par exemple, le premier nombre qu'il m'affiche c'est 1 mais vu que je veux un nombre de 10 caractères, peut il plutôt m'afficher "0000000001" au lieu de juste "1"
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
veux-tu obtenir ceci?
main()
{
    int i1,i2 ;
    for ( i1=0 ; i1<=9 ; i++ )
    {
        for ( i2=0 ; i2<=9 ; i++ )
        {
            printf ("%d%d\n", i1, i2) ;
        }
    }
}
0