probleme avec structure et pointeur

Voir le sujet précédent Voir le sujet suivant Aller en bas

probleme avec structure et pointeur

Message par nyergk le Lun 17 Déc - 23:04

bonjour,

je suis debutant en programmation, et j essaie de faire une fonction renvoyant l intersection entre deux points (en utilisant une structure pour les points) et en renvoyant le resultat de la fonction a l aide d un pointeur sur la structure, et bizarrement le programme arrondit le resultat, et renvoie 300.000 pour x et y au lieu de 333.33333 !!!

voici le programme:
Code:
#include<allegro.h>
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
 
#define blanc makecol(255,255,255)
 
//structures
struct point {double x,y;};
struct ligne {double a,b;}; //y=ax+b
 
//routines
double intersection_droite(struct point M1,struct point M2, struct point M3,struct point M4, struct point *adresseM );
 
int main()
{  allegro_init();
  install_keyboard();
  set_color_depth(32);
  set_gfx_mode(GFX_AUTODETECT_FULLSCREEN,1920,1080,0,0);
  //
  struct point A,B,C,D,E ;
  A.x=100;A.y=100; B.x=200;B.y=200;
  C.x=300;C.y=0;D.x=400;D.y=1000;
  E.x=0;E.y=0;
  intersection_droite(A,B,C,D,&E) ;
  textprintf(screen,font,0,0,blanc,"x=%lf  y=%lf ",(E.x),(E.y));
  while(key[KEY_ESC]==0);
  return 0;
}END_OF_MAIN();
 
 
 
//routines
double intersection_droite(struct point M1,struct point M2, struct point M3,struct point M4, struct point *adresseM )
{  double k1,k2  ;
    if(M2.x-M1.x!=0)  k1=(M2.y-M1.y)/(M2.x-M1.x) ;                                      // y=k1(x-xm1)+ym1
    if(M4.x-M3.x!=0)  k2=(M4.y-M3.y)/(M4.x-M3.x) ;                                      // y=k2(x-xm3)+ym3
 
    if(M1.x!=M2.x && M3.x!=M4.x)
    { if(k1!=k2)                                                                                      // 0=x(k1-k2)-k1.xm1+k2.xm3+ym1-ym3
        {adresseM->x=(k1*M1.x-k2*M3.x-M1.y+M3.y)/(k1-k2) ;                 
        adresseM->y= k1*((adresseM->x)-M1.x)+M1.y ;
        }
      if(k1==k2)  adresseM=0 ;
    }
  return 0;
}



je seche pour trouver le bug ! quelqu un a t il une explication ? merci d avance.


Dernière édition par nyergk le Mar 18 Déc - 14:42, édité 1 fois

nyergk
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 3
Localisation : france
Réputation : 0
Points : 1775
Date d'inscription : 17/12/2012

Revenir en haut Aller en bas

Re: probleme avec structure et pointeur

Message par nyergk le Mar 18 Déc - 1:57

oups, la routine est correct, c est moi qui me suis trompé en calculant sur papier... ... ... drunken

nyergk
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 3
Localisation : france
Réputation : 0
Points : 1775
Date d'inscription : 17/12/2012

Revenir en haut Aller en bas

Re: probleme avec structure et pointeur

Message par Napoléon le Dim 30 Déc - 23:33

Smile Tant mieux!

_________________
Nabil - tunis
خير الناس أنفعهم للناس
avatar
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 5283
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

http://infomath.online-talk.net

Revenir en haut Aller en bas

Re: probleme avec structure et pointeur

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum