Programme de combinaison

Résolu/Fermé
jesper1 Messages postés 63 Date d'inscription mardi 4 septembre 2018 Statut Membre Dernière intervention 13 août 2024 - 31 juil. 2020 à 23:08
yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 - 2 août 2020 à 15:01
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 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 Ambassadeur 1 556
1 août 2020 à 11:37
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 mardi 4 septembre 2018 Statut Membre Dernière intervention 13 août 2024
1 août 2020 à 11:59
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 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 1 556 > jesper1 Messages postés 63 Date d'inscription mardi 4 septembre 2018 Statut Membre Dernière intervention 13 août 2024
1 août 2020 à 12:22
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 mardi 4 septembre 2018 Statut Membre Dernière intervention 13 août 2024 > yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024
1 août 2020 à 12:42
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 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 1 556 > jesper1 Messages postés 63 Date d'inscription mardi 4 septembre 2018 Statut Membre Dernière intervention 13 août 2024
1 août 2020 à 12:54
n'obtiens-tu pas exactement ce que tu souhaites, à part les zéros non significatifs?
0
jesper1 Messages postés 63 Date d'inscription mardi 4 septembre 2018 Statut Membre Dernière intervention 13 août 2024 > yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024
1 août 2020 à 13:22
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 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 Ambassadeur 1 556
1 août 2020 à 13:10
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