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 :

Ranger un tableau.


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair� Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par d�faut Ranger un tableau.
    Voil�,

    J'ai deux tableaux qui correspondent respectivement aux coordon�es x et y de points dans un rep�re : poshor[n] et posvert[n] (n �tant le num�ro des points), seulement les points ne sont pas ranger dans l'ordre dans les tableaux et je voudrais les ranger dans deux autres tableaux (poshor2[n] et posvert[n] par exemple) mais dans l'ordre..

    Seulement cela implique qu'au moment ou je vais stocker les valeurs dans les nouveaux tableaux, � des moments je devrais sauter des cases et les combler ensuite et l� j'ai un probl�me..

    Merci de m'�clairer..

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    D�j�, il faut savoir pr�cis�ment ce que tu appelles "dans l'ordre"...
    Ensuite, il faut choisir le "sens" du r�arrangement: Ordre de lecture des tableaux source ou ordre de remplissage des tableaux destination...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre �clair� Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par d�faut
    Les deux tableaux sont li�s car un point n est repr�sent� par ses coordonn�s x et y donc par exemple si pour une valeur de x j'ai plusieurs points donc plusieurs y, alors pour un meme x je devrais les rang� selon les y croissant, ce qu'il y a c'est que le tableau de d�part est tellement d�sorganis� que pour un x je peux saut� de 2 ou 3 valeurs de y alors dans mon nouveau tableau je vais devoir d'abord sauter ces cases et par la suite mettre dedans les valeurs qui conviennent... et la difficult� est l�...

  4. #4
    Membre �clair� Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par d�faut
    ok je vais voir ce que je peux faire avec std::sort

  5. #5
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut Et que penser des structures?
    Salut,

    Pourquoi ne pas se baser sur une strucutre pour les coordonn�es de ton point?

    En effet, la position X ne peut pas etre utilis�e sans la position y pour d�terminer ton point...

    Tu cr�es donc une structure du genre de
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    struct Point
    {
        double X;//en adaptant le type en fonction de tes besoins
        double Y;
    };
    et tu utilise un seul tableau (ou un seul vecteur) pour maintenir la liste de tes points...

    std::sort, sauf erreur, va trier ton tableau de X en fonction des valeurs qu'il contient, et meme chose pour le tableau de Y...

    Si le malheur veut (et la loi de murphy nous dit que cela arrivera fatalement) qu'une coordonn�e Y d'un point soit plus petite que celle d'un autre alors que la coordonn�e X du point est plus grande que celle de l'autre, le tri produira deux points qui n'auront plus rien � voir avec ceux qui ont �t� introduits � la base...

    Exemple: Si tu as les tableaux de X et de Y suivant:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    X[]={20,15,10};
    Y[]={5,6,4};
    une fois tri�s, le point 1 sera 10/4, le deux 15/5 et le trois 20/6, alors qu'� la base, ils �taient respectivement 20/5, 15/6 et 10/4...

    Le fait de trier un tableau de structure telle que je te la pr�sente (quitte � pr�voir une fonction de comparaison) permettra de garder les valeurs correctes
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  6. #6
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Le quick sort est impl�ment� dans le standard, suffit d'utiliser std::sort si tu veux trier tes tableaux.

    Par contre g�rer deux tableaux en parall�le c'est pas g�nial si tu veux garder tes paires, utilise plut�t une structure qui les regroupe.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [ranger] un tableau de facon differente.
    Par stanilas dans le forum Collection et Stream
    R�ponses: 3
    Dernier message: 20/06/2011, 20h16
  2. Lire un fichier et ranger dans tableau
    Par Nemesis007 dans le forum D�buter
    R�ponses: 4
    Dernier message: 24/02/2010, 09h56
  3. R�ponses: 1
    Dernier message: 15/12/2008, 19h50
  4. Ranger des donn�es dans un tableau
    Par zmatz dans le forum Windows Forms
    R�ponses: 7
    Dernier message: 20/06/2007, 18h07
  5. Ranger un tableau de String dans ma HashMap
    Par jeyce dans le forum Collection et Stream
    R�ponses: 3
    Dernier message: 26/08/2004, 22h41

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