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 :

besoin d'aide (nombre complexe)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Par défaut besoin d'aide (nombre complexe)
    bonsoir
    afin de manipuler des nombre complexe pour tracer la fonction cosinus j'ai cree une structure complexe avec des fonction qui manipule ces structure comme suit
    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
    37
    38
    39
    40
    41
    42
    43
    44
     
    #include<stdio.h>
    #include<math.h>
    #include<malloc.h>
    #include<conio.h>
    #define infini 10000000000000000000
    #define epsilon 0.0000000000000000001
    typedef struct complexe{long double re,img;} complexe;
    long double *module(complexe *);
    complexe *add_complexe(complexe *,complexe *);
    complexe *div_complexe(complexe *,complexe *);
    int main(int argc,char *argv[])
    {
    	complexe u[1]={1,0},*z1,*z2,*z3,Z[4]={{5000,0},{5000,0},{epsilon,0},{epsilon,0}};
    	long double *f;
        z1=div_complexe(add_complexe(Z,Z+1),Z+3);
    	z2=div_complexe(add_complexe(Z,Z+1),Z+4);
    	z3=add_complexe(z1,z2);
    	z1=add_complexe(z3,u);
    	f=module(z1);
    	printf("%f \n %f \n %f\n",z1->re,z1->img,1/(*f));
    	printf("%f",sqrt(pow(((4/epsilon)+1),2)));
    	getch();
    }
    long double *module(complexe *z)
    {
    	long double *result=(long double *)malloc(sizeof(long double));
    	*result=sqrt(pow(z->re,2)+pow(z->img,2));
    	return result;
    }
    complexe *add_complexe(complexe *z1,complexe *z2)
    {
    	complexe *result=(complexe *)malloc(sizeof(complexe));
    	result->re=z1->re+z2->re;
    	result->img=z1->img+z2->img;
    	return result;
    }
    complexe *div_complexe(complexe *z1,complexe *z2)
    {
    	complexe *result=(complexe *)malloc(sizeof(complexe));
    	result->re=((z1->re)*(z2->re)+(z1->img*z2->img))/pow((*module(z2)),2);
    	result->img=((z1->img)*(z2->re)-(z2->img*z1->re))/pow((*module(z2)),2);
    	return result;
    }
    et quand j'essaie les resultat des ces fonctions ca marchre tres bien
    cepandant quand je passe au chose serieux dans l'interface graphique ;j'evalue le module d'un nombre complexe et j'essaie de tracer la fonction sinus dont l'amplitude est le resultat :
    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
     
    int main(int argc,char *argv[])
    {   static SDL_Surface ecran1;
    	float R=5,L=5,C=5,W=0.01,As=0.8,phis;
    	long double *f,r=0.5;
                complexe u[1]={1,0},*z1,*z2,*z3;
    ......
    z1=div_complexe(add_complexe(Z,Z+1),Z+3);
        	z2=div_complexe(add_complexe(Z,Z+1),Z+4);
    	    z3=add_complexe(z1,z2);
    	    z1=add_complexe(z3,u);
    		f=module(z1); 
              r=*f;
    trace_graph(W,r,0);
    ....
    ca marche pas

    quand je passe le deuxieme parametre de la fonction "trace_graph" comme valeur(ex: 0.5) ca marche bien mais des que j'essaie d'employer les resultats complexe ca coine
    merci pour votre aide

  2. #2
    Membre habitué
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Par défaut
    c ca a l'air compliqué
    je veux juste savoir la valeur d'une variable peut différer de celle que affiche la fonction printf() ;
    et merci

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par matrix-men Voir le message
    quand je passe le deuxieme parametre de la fonction "trace_graph" comme valeur(ex: 0.5) ca marche bien mais des que j'essaie d'employer les resultats complexe ca coine
    merci pour votre aide
    Ben peut-être que la fonction est prévue pour recevoir un float et non une structure...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Besoin d'aide pour une jointure SQL complexe
    Par Naruto-uzumaki dans le forum Langage SQL
    Réponses: 10
    Dernier message: 21/02/2008, 15h58
  2. Besoin d'aide pour bloquer un nombre sur une TextBox
    Par Torrent74 dans le forum Flash
    Réponses: 2
    Dernier message: 24/10/2007, 20h14
  3. Réponses: 1
    Dernier message: 23/04/2007, 10h59
  4. [MSSQL2005] Besoin d'aide pour une requête complexe
    Par Vonotar dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/01/2007, 16h47

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