fonction de tri complexe
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

fonction de tri complexe



  1. #1
    invite7ade7f5a

    Post fonction de tri complexe


    ------

    bonsoir tout le monde,
    je travaillais sur un exercice et j'ai trouvé quelque difficulté:
    j'ai une liste de nombre complexe que j'aimerai trier par ordre selon le module:
    la structure pour les nombre complexe:
    Code:
    typedef struct {
    	float re;
    	float img;
    }complex;
    la structure de la liste :
    Code:
    typedef struct {
    	int taille;
    	int lmax;
    	complex *tab;
    }liste;
    la fonction pour trier :
    Code:
    void trierliste(liste *l){
    	int x;
    	complex a;
    	do{
    		x=0;
    		for(int i=0;i<l->taille-1;i++)
    		    if(sqrt(pow(l->tab[i].re, 2)+pow(l->tab[i].img, 2))>sqrt(pow(l->tab[i+1].re, 2)+pow(l->tab[i+1].img, 2))){
    		         a=l->tab[i];
    		         l->tab[i]=l->tab[i+1];
    		         l->tab[i+1]=a;
    		         x++;
    		   }
    	}while(x!=0);
    }
    et svp éclairez moi sur la façon dont on calcule le module d'un complex dans mon cas
    merci beaucoup pour vos réponses

    -----

  2. #2
    Jack
    Modérateur

    Re : fonction de tries complex

    et svp éclairez moi sur la façon dont on calcule le module d'un complex dans mon cas
    ta méthode ne te convient pas?

    Pour la part j'aurais créé une fonction pour calculer le module. Et je n'aurais pas utilisé la fonction pow pour un simple carré.

    Je ne comprends pas à quoi sert x (d'où l'intérêt de mettre des commentaires dans ses programmes). Et je ne vois pas comment il peut arriver à 0 pour terminer le tri,à moins d'arriver à sa valeur maximale, ce qui doit induire un bon bout de temps passé dans cette boucle.

    Je ne comprends pas pourquoi tu n'utilises pas un debugger pour comprendre pourquoi ton programme ne fonctionne pas.

  3. #3
    invite7ade7f5a

    Re : fonction de tri complexe

    Bonsoir merci pour votre réponses,
    pour le x il est la pour indiquer au while quand s’arrêter => tout est bien trier ,il change de valeur (x++ quand le if est exécuté et il est réinitialisé a chaque début de boucle. quand j’essaye:
    Code:
    printf("%f", sqrt(pow(l->tab[0].re, 2)+pow(l->tab[0].img, 2));
    il affiche: 0.00000000 il y'a une erreur
    encore merci

  4. #4
    invite7ade7f5a

    Re : fonction de tri complexe

    et pour le debugger je ne sais pas l'utiliser svp pouvez vous m’éclairer ?

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : fonction de tri complexe

    pour le x il est la pour indiquer au while quand s’arrêter => tout est bien trier
    Je ne vois pas par quel miracle x peut être égal à 0 lorsque le tableau est bien trié
    il affiche: 0.00000000 il y'a une erreur
    Sans savoir ce qu'il y a dans le tableau, difficile à deviner...
    et pour le debugger je ne sais pas l'utiliser svp pouvez vous m’éclairer ?
    N'importe quel IDE un peu correct possède un debogueur: Visual studio, Code::Blocks, Qt, etc.

Discussions similaires

  1. fonction d'analyse complexe.
    Par invitebf26947a dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 22/12/2011, 18h24
  2. Integration d'une fonction complexe
    Par inviteeb648d9f dans le forum Mathématiques du supérieur
    Réponses: 13
    Dernier message: 05/05/2011, 19h03
  3. indice de fonction complexe
    Par Bartolomeo dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 01/07/2010, 15h35
  4. Fonction complexe
    Par invite4c8f7e37 dans le forum Mathématiques du supérieur
    Réponses: 20
    Dernier message: 08/01/2008, 23h24
  5. electricité: v1(t) en fonction de V1 complexe
    Par invite949e2042 dans le forum Physique
    Réponses: 2
    Dernier message: 15/11/2007, 19h50