構造体<2次元直交座標系における2点間の距離>
Posted: 2017年7月18日(火) 15:14
2つの座標を入力してその座標間の距離を求めて表示するプログラムを作成しています。
(座標を渡してその座標間距離を戻り値とする関数distanceを定義して利用することが条件です。)
以下のような手順でプログラムを書いていきたいのですが、どのようにしてプログラムを書いたらいいのかわかりません。
書き出しだけ作成してみたので、どのようにして書いていけば良いのか教えてください。
(1)x座標とy座標をメンバとする2次元座標を表す構造体pointを定義する。さらにtypedefを使って名前をPointとして再定義する。
(2)2つの座標を入力してその座標間の距離を表示するプログラムを作成する。(座標(x1,y1)と(x2,y2)の2点間の距離は、(x2-x1)^2 + (y2-y1)^2の平方根)
(3)距離を求める処理を関数double distance(Point a, Point b)として定義する。
#include<stdio.h>
#include<math.h>
//座標を表す構造体
struct point {
};
typedef struct point Point;
double distance(Point a, Point b)
{
return;
}
int main(void)
{
Point p1, p2;
printf("== 2次元直交座標系における2点間の距離 ==\n");
//座標の入力
printf("座標1 (x,y)>"); scanf("%d", &p1);
printf("座標2 (x,y)>"); scanf("%d", &p2);
printf("2点間の距離: %f\n", distance());
return 0;
}
(座標を渡してその座標間距離を戻り値とする関数distanceを定義して利用することが条件です。)
以下のような手順でプログラムを書いていきたいのですが、どのようにしてプログラムを書いたらいいのかわかりません。
書き出しだけ作成してみたので、どのようにして書いていけば良いのか教えてください。
(1)x座標とy座標をメンバとする2次元座標を表す構造体pointを定義する。さらにtypedefを使って名前をPointとして再定義する。
(2)2つの座標を入力してその座標間の距離を表示するプログラムを作成する。(座標(x1,y1)と(x2,y2)の2点間の距離は、(x2-x1)^2 + (y2-y1)^2の平方根)
(3)距離を求める処理を関数double distance(Point a, Point b)として定義する。
#include<stdio.h>
#include<math.h>
//座標を表す構造体
struct point {
};
typedef struct point Point;
double distance(Point a, Point b)
{
return;
}
int main(void)
{
Point p1, p2;
printf("== 2次元直交座標系における2点間の距離 ==\n");
//座標の入力
printf("座標1 (x,y)>"); scanf("%d", &p1);
printf("座標2 (x,y)>"); scanf("%d", &p2);
printf("2点間の距離: %f\n", distance());
return 0;
}