IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Besoin d'aide pour une incrémentation spéciale


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut Besoin d'aide pour une incrémentation spéciale
    Bonjour à tous,

    Voilà je suis en train de faire un projet en C et je suis bloqué sur un truc que je n'arrive pas à faire, s'il y a des gens qui peuvent m'aider ça serait super.
    Voilà en fait je dois faire une boucle qui fait une incrémentation de la manière suivante :
    00000
    00001
    00002
    00003
    00010
    00011
    00012
    00013
    00020
    jusqu'a 33333, il faut que chaque chiffre soit stocké dans une case d'un tableau et il faut que la taille dans l'exemple (5) soit modifiable aussi.
    Merci pour votre aide

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Peut-être faire une incrémentation standard (pas le choix de toute façon) et construire une chaîne avec le nombre de zéro qu'il faut puis le chiffre incrémenté. Je ne pense que pas que ces chiffres doivent être stockées dans un tableau de int par exemple car je ne vois pas comment d'ailleurs
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre actif
    Profil pro
    Ingénieur
    Inscrit en
    Avril 2013
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Avril 2013
    Messages : 77
    Par défaut
    Bonjour,

    A priori, tu travailles en base 4.
    Je te conseille tout d'abord te créer ta propre fonction d'incrémentation.
    Petite aide:
    tu ajoutes 1, si l'unité est supérieure à 3, tu mets 0 et ajoute 1 aux dixaines et tu poursuis par la gauche.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Merci pour vos réponses rapide,
    Franck j'ai pas tout saisi, sinon je suis obliger de mettre chaque chiffres dans une case d'un tableau à 2 dimensions. pareille pour alyma.
    Je doit implanter ce truc la dans le programme qui est déjà fait donc je suis un peut obliger de le faire comme ça

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Un code dans le genre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    #include <stdlib.h>
    #include <stdio.h>
    #include <stdint.h>
     
    #define ARRAY_LENGTH        5
    #define ARRAY_DATA_TYPE     unsigned char
    #define INCREMENT_LIMIT     3
     
    void print_array(ARRAY_DATA_TYPE *array, size_t len)
    {
        for(size_t cell = 0; cell < len; cell++)
        {
            printf("%d ", array[cell]);
        }
        putchar('\n');
    }
     
    int main(void)
    {
        ARRAY_DATA_TYPE array[ARRAY_LENGTH] = {0};
     
        // Initial state
        print_array(array, ARRAY_LENGTH);
     
        // Increment
        for(size_t cell = 1; cell < ARRAY_LENGTH; cell++)
        {
            while(array[cell] != INCREMENT_LIMIT)
            {
                for(unsigned int inc = 1; inc <= INCREMENT_LIMIT; inc++)
                {
                    array[0] = inc;
                    print_array(array, ARRAY_LENGTH);
                }
     
                array[0] = 0;
                array[cell] += 1;
                print_array(array, ARRAY_LENGTH);
            }
        }
     
        puts("DONE");
        return 0;
    }
    Ce n'est pas particulièrement clair sur la suite de ton incrémentation, est-ce que le résultat attendu est celui obtenu avec ce code ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Bktero, je pense qu'il y'a un souci, quand tu incrémente il faut mettre toutes les valeurs précédentes à 0 et pas que la première.

  7. #7
    Membre très actif

    Femme Profil pro
    Collégien
    Inscrit en
    Juillet 2010
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2010
    Messages : 593
    Par défaut
    C'est du C99

  8. #8
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Khalid89 Voir le message
    Bktero, je pense qu'il y'a un souci, quand tu incrémente il faut mettre toutes les valeurs précédentes à 0 et pas que la première.
    Je ne dirais pas qu'il y a un soucis dans mon code, je dirais qu'il y a un soucis dans ton explication Montre nous plus clairement ce que tu veux faire, notamment au prochain changement de digit.

    Citation Envoyé par mith06
    C'est du C99
    Khalid89 a édité son message où il demandait si mon code était du C++ et mith06 donne la bonne réponse : c'est du C, version C99 ! Si ça avait été du C++, on aurait notamment vu std::cout << "DONE"

Discussions similaires

  1. Besoin d'aide pour une sous requete
    Par Celia1303 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 12/10/2005, 14h09
  2. Besoin d'aide pour une requete
    Par jnc dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/07/2005, 11h54
  3. Création requete besoin d'aide pour une date
    Par royrremi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/07/2004, 22h03
  4. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56
  5. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo