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
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
