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

SL & STL C++ Discussion :

Utilisation de la fonction sort sur un tableau a DEUX dimensions


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 37
    Par défaut Utilisation de la fonction sort sur un tableau a DEUX dimensions
    Bonjour je voudrais savoir comment faire pour faire le tri d'un tableau à plusieurs dimensions en se basant uniquement sur les valeurs de la colonne numero 1.

    Par exemple, un tableau n défini comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    double v[3][2] ; // trois lignes et 2 colonnes
     
    v[0][0] = 12. ; v[0][1] = -124. ;
    v[1][0] = 1.35 ; v[1][1] = 64. ;
    v[2][0] = 15. ; v[2][1] = 18. ;
    Comment puis-je faire un "sort" manière à obtenir un tableau qui serait classé en fonction croissante des valeurs de la première colonne, c'est à dire :
    1.35 64.
    12. -124.
    15. 18.

    Est-ce réalisable simplement avec la STL ?
    Merci d'avance !

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Bonjour,
    premierement c'est bof les tableau 2D. mais bon pour ton cas, il faut que tu redefinisse un foncteur un truc comme cela devrai marcher :

    Code C++ : 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
     
    //N : indice à tester
    template<int N=0,typename T>
    bool MonTest (const T* ligne1,const T* ligne2)/
    {
    return ligne1[N]<ligne2[N];//Tu choisi le test que te permet de trier
    }
     
    .
    .
    .
     
    double v[3][2] ; // trois lignes et 2 colonnes
     
    v[0][0] = 12. ; v[0][1] = -124. ;
    v[1][0] = 1.35 ; v[1][1] = 64. ;
    v[2][0] = 15. ; v[2][1] = 18. ;
    std::sort(v,v+3,&MonTest <0>);

    [edit]
    j'ai des doute, il faut tester

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 37
    Par défaut
    Merci pour ta réponse, personellement je veux bien utiliser un tableau à une dimension mais bon,... comment faire dans la mesure où j'associe deux éléments ensembles ??

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Kaeguri Voir le message
    Merci pour ta réponse, personellement je veux bien utiliser un tableau à une dimension mais bon,... comment faire dans la mesure où j'associe deux éléments ensembles ??
    Mon exemple ne marche pas. Problème d'operateur =.

    qu'es que tu veut faire?

Discussions similaires

  1. [PHP 5.2] utilisation de la fonction in_array dans un tableau multidimensionnel
    Par megaloplex dans le forum Langage
    Réponses: 1
    Dernier message: 23/08/2010, 13h59
  2. Réponses: 2
    Dernier message: 21/10/2008, 20h59
  3. fonction rand sur un tableau ?
    Par Kyp_Durron dans le forum Langage
    Réponses: 16
    Dernier message: 17/11/2007, 23h39
  4. Réponses: 3
    Dernier message: 01/02/2007, 11h09

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