Analitik düzlemde iki noktası bilinen iki doğrunun kesişimi hesaplayan C++ programı

  • Konbuyu başlatan Konbuyu başlatan Z1rT
  • Başlangıç tarihi Başlangıç tarihi
9
EXE RANK

Z1rT

Fexe Kullanıcısı
Puanları 0
Çözümler 0
Katılım
26 Kas 2009
Mesajlar
9,190
Tepkime puanı
0
Puanları
0
Yaş
33
Web sitesi
www.netbilgini.net
Z1rT
PHP:
#include <cstdlib> 
#include <iostream> 
#define FARK 0.00001 
using namespace std; 
typedef struct Nokta{ 
        float x,y; 
}; 
typedef struct Dogru{ 
        struct Nokta a,b; 
}; 
struct Nokta* Kesisim(Dogru *d1p,Dogru *d2p){ 
       Nokta* Kesisim=new Nokta; 
       Dogru d1,d2; 
       float Egimd1,Egimd2,a,c,d,f,delta,denklemDelta; 
       d1=*d1p; 
       d2=*d2p; 
       Egimd1=(d1.b.y-d1.a.y)/(d1.b.x-d1.a.x); 
       Egimd2=(d2.b.y-d2.a.y)/(d2.b.x-d2.a.x); 
       a=-Egimd1; 
       c=Egimd1*d1.a.x-d1.a.y; 
       d=-Egimd2; 
       f=Egimd2*d2.a.x-d2.a.y; 
       delta=a-d; 
       denklemDelta=f-c; 
       Kesisim->x=denklemDelta/delta; 
       denklemDelta=c*d-a*f; 
       Kesisim->y=denklemDelta/delta; 
       return Kesisim; 
} 
struct Dogru* DogruOlustur(float x1,float y1,float x2,float y2){ 
       Dogru* Dogru1=new Dogru; 
       if(x1==x2) 
       x1+=FARK; 
       if(y1==y2) 
       y1+=FARK; 
       Dogru1->a.x=x1; 
       Dogru1->a.y=y1; 
       Dogru1->b.x=x2; 
       Dogru1->b.y=y2; 
       return Dogru1; 
} 
int main(int argc, char *argv[]){ 
    Nokta *kesim;  
    Dogru *d1,*d2; 
    d1=DogruOlustur(0,0,100,100); 
    d2=DogruOlustur(50,-50,50,150); 
    kesim=Kesisim(d1,d2); 
    cout.precision(5); 
    cout<<"x : "<<kesim->x<<endl<<"y : "<<kesim->y<<endl; 
    system("PAUSE"); 
    return EXIT_SUCCESS; 
}

c++ bilmiyorsan bakma :)
 
Geri
Üst