/* << h132.c >> */
#include <stdio.h>
struct dot {
float x; /* メンバx */
float y; /* メンバy */
};
main() {
float m[2],n[2];
int i,check=0;
struct dot a[5]; /* 構造体配列の宣言。*/
for(i=0;i<4;i++){
printf("ENTER x%d,y%d\n",i
,i
); scanf("%f %f",&a
[i
].
x,&a
[i
].
y); }
//二点で点にしかならないとき
if((a[0].x==a[1].x&&a[0].y==a[1].y)||(a[2].x==a[3].x&&a[2].y==a[3].y)){
check=1;
}
//線1,2が重なるか平行な時
else if((a[0].y-a[1].y)/(a[0].x-a[1].x) == ((a[3].y-a[4].y)/(a[3].x-a[4].x){
//交点なし
check=1;
}
//おそらくここまで出来ているはず!!!
//以下 重なる時
//線1がx軸に垂直な時
else if(a[0].x == a[1].x){
a[4].x = a[0].x;
}
//線2がx軸に垂直な時
else if(a[2].x==a[3].x){
a[4].x==a[2].x;
}
else{
m[0] = (a[].y-a[3].y)/(a[2].x-a[3].x);
a[4].y = m*a[4].x - m*a[2].x + a[2].y;
}
}
printf("%d %d",a
[4].
x,a
[4].
y); }
最終更新:2009年10月22日 23:58