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 :

Trier des points algorithme


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Par défaut Trier des points algorithme
    Bonjour j'aurai besoin d'aide pour un algorithme, dans mon programme l'utilisateur rentre le nombre de points qu'il veut trier, après cela les coordonnées x et y de chacun des points, ce que je dois faire c'est afficher les points du plus proche de l'axe au plus éloigné.
    Par exemple, pour trois points (4,5) (2,3) (1,2) la réponse sera (1,2) (2,3) (4,5)

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Comment as-tu trié ces trois éléments?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Par défaut
    j'ai compris que je dois rentrer ces elements dans un tableau, mais c'est justement la le probleme je n'arrive pas trouver l'algorithme qui me permette de trier les points en fonction de leur distance

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Par défaut
    Oui je connais la formule de la distance ...x^2+y^2 sous la racine carre mais cela ne change pas grand chose, et justement le programme doit avoir une complexite de temps de nlogn (n represente le nombre de points que l'on souhaite rentrer) et nous n'avons pas appris a utiliser les structures donc impossible d'utiliser ca...

  5. #5
    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
    Citation Envoyé par gaddielnabet Voir le message
    nous n'avons pas appris a utiliser les structures donc impossible d'utiliser ca
    Les structures sont justes là pour structurer le code de manière plus logique.
    Tu peux très bien avoir 2 tableaux pour les coordonnées au lieu d'un unique tableau d'une struct Point. C'est super moche, si un étudiant me montrait ça je l'insulterais, mais si c'est imposé alors la faute revient au prof.

    Citation Envoyé par gaddielnabet Voir le message
    mais cela ne change pas grand chose
    Ben ça change que c'est la façon de faire

    L'exercice consiste à réimplémenter une fonction de tri.

    Citation Envoyé par gaddielnabet Voir le message
    le programme doit avoir une complexite de temps de nlogn
    Donc un Merge sort correspond d'après le tableau précédent.
    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.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Par défaut
    Merci pour ton aide,j'avais egalement pense a utiliser merge sort mais je n'arrive pas a trouver de quel maniere...

  7. #7
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    Citation Envoyé par gaddielnabet Voir le message
    je dois faire c'est afficher les points du plus proche de l'axe au plus eloigne.
    Lequel des axes ? Soit tu trie par rapport à X , soit par rapport à Y , soit tu fait une moyenne des deux , tout dépend de ce que tu souhaite faire !
    Sinon il existe Qsort

  8. #8
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 315
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Je vais émettre une remarque sûrement stupide mais elle a le mérite de ne rien coûter, alors...

    Si tu dois classer des points en fonction de leur distance à l'origine, pourquoi ne pas calculer justement cette distance à ce point ? Bon, c'est coûteux en temps de calcul, mais je suppose que l'exercice n'est pas axé sur la performance.
    Tu pourrais disposer d'une structure contenant les coordonnées du point et la distance. Le tri se ferait alors assez facilement il me semble. Tu pourrais même te passer d'une telle structure avec un algorithme pensé en amont.

    Une autre remarque qui ne mange pas de pain. En français "c" s'écrit "c'est" ou "s'est". C'est selon... Ce n'est pas plus cher à écrire et beaucoup plus sympa pour les lecteurs que nous sommes .

    Citation Envoyé par gaddielnabet Voir le message
    j'ai compris que je dois rentrer ces elements dans un tableau, mais c'est justement la le probleme je n'arrive pas trouver l'algorithme qui me permette de trier les points en fonction de leur distance
    Petite question. Sais-tu calculer la distance d'un point dans un plan ?

Discussions similaires

  1. Algorithme de selection des points dans une grille
    Par Senadin dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 18/12/2013, 18h16
  2. Algorithme pour joindre des points
    Par tommytom78 dans le forum Mathématiques
    Réponses: 5
    Dernier message: 06/07/2012, 09h46
  3. Réponses: 10
    Dernier message: 05/03/2010, 14h37
  4. Réponses: 0
    Dernier message: 28/03/2009, 18h51
  5. Réponses: 24
    Dernier message: 01/06/2007, 21h37

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