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 :

Question sur le Sort


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2012
    Messages
    35
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 35
    Par d�faut Question sur le Sort
    bonjour,

    j'ai une question sur le tri des valeur dans n vecteur;
    Si j'ai 3 vecteurs V1,V2, et V3, pour les trier je sais qu'on peut utiliser mais ma question est :
    Est ce qu'il y a une methode qui me permet de trier les valeurs d'un vecteur et au m�me temps les valeurs des deux autres vecteur suivront la position des �l�ments tri�s de V1, pour bien illustrer ma question voici un petit exemple:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    V1[5,2,8,4,3], v2[C1,C2,C3,C4,C5], V3[0.2,0.4,0.25,0.15,0.6]
    Je voudrai obtenir ceci:
    V1[2,3,4,5,8], v2[C2,C5,C4,C1,C3], V3[0.4,0.6,0.15,0.2,0.25]
    Merci d'avance pour vos suggestions

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant s�curit� informatique � Dipl�m� master Droit/�conomie/Gestion
    Inscrit en
    D�cembre 2011
    Messages
    9 026
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 32
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Doctorant s�curit� informatique � Dipl�m� master Droit/�conomie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 9 026
    Par d�faut
    Je pense que tu as plus un probl�me sur le choix du conteneur qu'autre chose.

    Si je comprends bien, chaque �l�ment d'un vecteur est associ� de deux autres �l�ments appartenant chacun aux deux autres vecteurs.

    Dans ce cas l� pourquoi ne pas utiliser :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    std::map< Type1 clé, std::pair< Type2 x, Type3 y> >
    ?

  3. #3
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

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

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    boost.multi_index ne remplit pas ce r�le ?
    Sinon, je trierai un vecteur, temporaire, d'indices selon le pr�dicat qui compare les valeurs point�es par les indices dans V1.
    Autre solution: un vecteur de structures qui contient les 3 champs.

    Mais certainement pas une map pour trier des trucs l�gers.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  4. #4
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2012
    Messages
    35
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 35
    Par d�faut
    Merci pour vos suggestions,

    d'apr�s ce que j'ai comprit, les maps sont utilis�es pour trier un grand nombre de donn�es, et c'est mon cas puisque j'ai une centaine de milliers de donn�es.
    Alors je vais pr�parer quelque chose en utilisant "map".

    merci

  5. #5
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

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

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Sauf que les maps coutent extr�mement cher.
    Surtout compar� � un vecteur d'int � trier une seule fois.
    Par contre, elles peuvent plus simple � utiliser.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  6. #6
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Bonjour,

    je pense que tu te trompes dans les termes.
    On ne parle pas de tri dans ton cas, seul le premier vecteur a ses donn�es tri�es, les autres ont juste leur contenus r�agenc�s selon le contenu du premier. Et l� il s'agit d'un simple swap de position.
    Et un tel comportement n'est absolument pas standard ni g�n�ral, donc il te faut le mettre en place toi-m�me.
    Dans tous les cas aucune fonction magique ne fera un tel traitement pour toi.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par d�faut
    Salut

    Le sujet a d�j� �t� discut� ici. Moi � la place de nadir CoCo, je remettrais en question le choix de ma structure de donn�es et je ferais un truc simpliste du 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
    #include <iostream>
    #include <string>
    #include <vector>
    #include <algorithm>
     
    struct Donnees
    {
      int m_1;
      std::string m_2;
      float m_3;
     
      Donnees() : m_1(0), m_3(0.f) {}
      Donnees(int iM1, std::string const & iM2, float iM3) : m_1(iM1), m_2(iM2), m_3(iM3) {}
     
      bool operator < (const Donnees &iData) const
      {
        return m_1 < iData.m_1;
      }
    };
     
    int main(int argc, char* argv[])
    { 
      std::vector<Donnees> vect;
      vect.push_back(Donnees(5,"C1",0.2f));
      vect.push_back(Donnees(2,"C2",0.4f));
      vect.push_back(Donnees(8,"C3",0.25f));
      vect.push_back(Donnees(4,"C4",0.15f));
      vect.push_back(Donnees(3,"C5",0.6f));
     
      std::sort(vect.begin(), vect.end());
     
      for(std::vector<Donnees>::iterator it = vect.begin(); it != vect.end(); it++)
        std::cout << "(" << it->m_1 << "," << it->m_2 << "," << it->m_3 << ")" << std::endl;
     
      return 0;
    }
    Mais bon sa base de code ne le permet peut �tre pas.

  8. #8
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2012
    Messages
    35
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 35
    Par d�faut
    Merci pour votre aide, je suis pas encore arriv� � faire ce que je veux mais �a se clarifie de plus en plus.

Discussions similaires

  1. Question sur la fonction SORT + UTF-8
    Par vinousenpai dans le forum Langage
    R�ponses: 7
    Dernier message: 05/10/2010, 12h17
  2. Question sur la proc sort
    Par stefsas dans le forum SAS Base
    R�ponses: 2
    Dernier message: 10/06/2008, 15h29
  3. Petite question sur la fa�on de faire une sorte de thread
    Par bit_o dans le forum GTK+ avec C & C++
    R�ponses: 5
    Dernier message: 09/05/2007, 23h28
  4. R�ponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    R�ponses: 7
    Dernier message: 02/08/2002, 16h11

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