C/C++の宿題を片付けます 59代目
■ このスレッドは過去ログ倉庫に格納されています
0135デフォルトの名無しさん
2006/01/28(土) 14:12:25(1,1)(2,2)(3,3)だと、どう見ても直線です
本当に(r
#include<math.h>
#include<stdio.h>
typedef struct Point Point;
struct Point{
double x;
double y;
};
double distance(const Point*p1,const Point*p2){
double x = p2->x - p1->x;
double y = p2->y - p1->y;
return sqrt(x*x+y*y);
}
double triangle(const Point*p1,const Point*p2,const Point*p3){
double a = distance(p1,p2),b=distance(p2,p3),c=distance(p3,p1);
double r = (a+b+c)/2;
return sqrt(r*(r-a)*(r-b)*(r-c));
}
int main(void){
const Point p1={1,1},p2={2,2},p3={3,3};
printf("%f\n",triangle(&p1,&p2,&p3));
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています