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 :

remplissage tableau sous condition


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Par défaut remplissage tableau sous condition
    Salut,

    J'ai ce petit bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      int x=100;
      int a=10;   
      int i=0; 
      int tab[100]={0} ;
      for(i=100; i>0; i--)  tab[t++]=((x%a)==0)? i:0;    
      for(i=0; i<100;i++) printf("%d\n", tab[i]);
    Le but est de remplir les éléments du tableau avec la valeur de i pour laquelle le modulo de x par a est de 0, et les autres éléments du tableau avec 0.
    Donc pour être clairs, les valeurs pour de x pour lesquelles x/a n'a pas de reste.
    D'où la première boucle.
    La deuxième est là pour lister les éléments du tableau, mais je ne comprend pas la sortie qui me liste comme valeurs pour les éléments du tableau tous les nombres de 100 à 1.
    Alors que j'attendais en sortie du tableau les valeur de i quand il n'y a pas de reste et 0 pour les autres .

    C'est peut-être mon utilisation de l'opérateur ternaire qui est mauvaise.

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2003
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 272
    Par défaut
    Citation Envoyé par gauguin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab[t++]=((x%a)==0)? i:0;
    Il manque peut-être une dépendance en i...

    Edit : Et c'est qui 't' ?

  3. #3
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Qu'est-ce qui se passe avec ce code ? Tu as bien initialisé de façon explicite t à 0 ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Par défaut
    en effet, j'avais trop élagué pour simplifier le code mais ça ne vient pas de là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      int x=100;
      int a=10;   
      int i=0;
      int t=0;
      int tab[100]={0} ;
      for(i=100; i>0; i--)  tab[t++]=((x%a)==0)? i:0;    
      for(i=0; i<100;i++) printf("%d\n", tab[i]);

  5. #5
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    x%a donne toujours le même résultat tu ne fais varier à aucun moment ni x ni a.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Par défaut
    ah oui, tu as raison... pas malin l'animal !

    c'est en fait pour m'amuser à faire un algo qui trouve toutes les façons de faire un euro avec des pièces de 2, 5 et 10 cts....je ne suis pas sorti !

    Cela dit je crois que j'ai pris un mauvais départ car en fait je ne peux pas toucher la variable a puisqu'il représente les pièces de 10 et x les 100cts d'un euro.

    Je vais continuer ça,

    merci.

  7. #7
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par gauguin
    c'est en fait pour m'amuser à faire un algo qui trouve toutes les façons de faire un euro avec des pièces de 2, 5 et 10 cts....je ne suis pas sorti !

    Cela dit je crois que j'ai pris un mauvais départ car en fait je ne peux pas toucher la variable a puisqu'il représente les pièces de 10 et x les 100cts d'un euri.

    Je vais continuer ça,

    merci.
    ->Direction Forum Algo

    Ca ne va pas d'improviser du code comme cela tu vas te griller des neurones (et à nous aussi) à comprendre tes erreurs pour rien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Remplissage Cellules sous condition
    Par Averell1976 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 07/01/2014, 10h48
  2. [XL-2010] Remplir un tableau sous condition
    Par modus57 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/12/2013, 19h30
  3. [XL-2007] remplissage tableau selon condition
    Par NEC14 dans le forum Excel
    Réponses: 1
    Dernier message: 25/07/2010, 10h12
  4. Réponses: 9
    Dernier message: 10/12/2009, 19h03
  5. Récupération de donnée dans un tableau sous conditions
    Par Guillaume.guegan dans le forum Excel
    Réponses: 5
    Dernier message: 06/11/2008, 09h16

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