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

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    janvier 2014
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : janvier 2014
    Messages : 87
    Points : 47
    Points
    47
    Par défaut selectionner une suite de chiffres dans une routine de tri (FireMonkey)
    Bonsoir,

    Soit la routine de tri suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int nombre[13], nombresup[13]; 
    int i, j;
     
    for (i = 1; i <14 ; ++i)
       {
    	   int elem = nombre[i];
     
    	   for (j = i; j > 0 && nombre[j-1] > elem; j--)
     
    		   nombre[j] = nombre[j-1];
     
    	   nombre[j] = elem;
       }
    Admettons que le résultat soit 2,5,8,10, 15, 16 17, 20,25 ....

    Est-il possible de sélectionner uniquement les chiffres (15,16,17) qui se suivent et de les enregistrer dans une variable ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (int i = 1; i <14 ; ++i)
     
       if (chiffres == 15,16,17)
     
          { nombresup[i] = chiffres;
              ListBox1->Items->add(IntToStr(nombresup[i]));}

    Merci d'avance

    Cordialement

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    janvier 2014
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : janvier 2014
    Messages : 87
    Points : 47
    Points
    47
    Par défaut
    Je me suis planté.

    Bonsoir,

    Soit la routine de tri suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     int nombre[13]; 
        int i, j;
     
        for (i = 1; i <14 ; ++i)
           {
        	   int elem = nombre[i];
     
        	   for (j = i; j > 0 && nombre[j-1] > elem; j--)
     
        		   nombre[j] = nombre[j-1];
     
        	   nombre[j] = elem;
           }
    Admettons que le résultat soit 2,5,8,10, 15, 16 17, 20, 26 ,27 ,28, 31,45 ....

    Est-il possible de sélectionner uniquement les séries de chiffres qui se suivent (ex : 15,16,17 et 26,27,28) et d'enregistrer chaque série dans une variable différente ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    int variable1[13];
    int variable2[13];
     
      for (int i = 1; i <14 ; ++i)
       if (nombre[i] = 15,16,17)
         {
          variable1[0] =15;
          variable1[1] =16;
          variable1[2] =17;
        }
    idem pour variable2

    Je sais que ma question peut paraître étrange, mais j'aurais besoin de cette routine pour une petite appli

    Merci d'avance

    Cordialement

  3. #3
    Membre éprouvé
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2003
    Messages
    823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : novembre 2003
    Messages : 823
    Points : 992
    Points
    992
    Par défaut
    En gros tu cherches à récupérer les suite de nombres qui se suivent.
    Une solution simple consiste à partir du premier nombre de ton tableau. Puis à parcourir ton tableau jusqu'à ce que l'écart entre deux nombre du tableau est supérieur à 1.
    Si le nombre de consécutif est supérieur à 1 tu retiens les nombres et tu reprends la procédure en partant du dernier nombre testé.
    Si je reprends ton exemple [2,5,8,10, 15, 16 17, 20, 26 ,27 ,28, 31,45] voici ce que ça donne:

    valeur1=2
    tableau_provisoire=[2]
    valeur2=5
    différence>1
    tableau_provisoire ne contient qu'un seul élément on ne le retient pas

    valeur1=5
    tableau_provisoire=[5]
    valeur2=8
    différence>1
    tableau_provisoire ne contient qu'un seul élément on ne le retient pas
    .
    .
    .
    valeur1=15
    tableau_provisoire=[15]
    valeur2=16
    différence=1 on retient 16
    tableau_provisoire=[15,16]
    valeur1=16
    valeur2=17
    différence=1 on retient 17
    tableau_provisoire=[15,16,17]
    valeur1=17
    valeur2=20
    différence>1
    tableau_provisoire=[15,16,17] contient trois élément on le garde
    ainsi de suite jusqu'à atteindre la fin du tableau trié.

    Je te laisse programmer tout ça
    Il y a des jours où j'éprouve une haine profonde envers microsoft
    Venez vous défouler ici ou c'est amusant
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    janvier 2014
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : janvier 2014
    Messages : 87
    Points : 47
    Points
    47
    Par défaut
    Merci Gouyon pour ta solution.
    J'ai pensé aussi à une boucle qui stockera les éléments tant que les éléments sont à une valeur d'écart


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

Discussions similaires

  1. Suite de chiffre dans un label
    Par bttleman dans le forum Débuter
    Réponses: 3
    Dernier message: 20/08/2011, 12h52
  2. Réponses: 3
    Dernier message: 27/01/2011, 09h40
  3. [RegEx] comment prélever une suite de chiffres dans une chaine
    Par thor76160 dans le forum Langage
    Réponses: 2
    Dernier message: 19/03/2010, 11h29
  4. Suite de chiffre dans une colonne
    Par hassan1234 dans le forum Excel
    Réponses: 1
    Dernier message: 08/08/2008, 12h24
  5. Vérifier la suite de chiffres dans une image
    Par Dsphinx dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/12/2006, 21h20

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