Structures and Functions
Coddyの「C/C++ 構造体」コースのレッスン 5/8。
C/C++ファイルで構造体を作成すると、その構造体を関数の引数や戻り値の型として使用できます。
例えば、Person が構造体であると仮定しましょう。
void greet(Person p) {
cout << "Hello, " << p.name << endl;
}C言語では、前に struct キーワードを追加する必要があります:
void greet(struct Person p) {
printf("Hello, %s\n", p.name);
}チャレンジ
簡単Point 構造体を作成し、2つの点を初期化して、それらの間の距離を計算するコードの一部が与えられています。
あなたのタスクは、2つの Point 構造体を引数として受け取り、距離を計算してそれを返す(int型) calcDistance という名前の関数を作成することです。
2つの点 p1 と p2 が与えられたとき、それらの間の距離は以下の通りです:
(p2.x - p1.x) * (p2.x - p1.x) + (p2.y - p1.y) * (p2.y - p1.y)main 関数を修正する必要は全くありません!
自分で試してみよう
#include <stdio.h>
struct Point {
int x;
int y;
};
// ここに calcDistance を実装してください
int main() {
char tmp[50];
int p1x, p1y, p2x, p2y;
scanf("%s %d %d", &tmp, &p1x, &p1y);
scanf("%s %d %d", &tmp, &p2x, &p2y);
struct Point p1 = {p1x, p1y};
struct Point p2 = {p2x, p2y};
int distance = calcDistance(p1, p2);
printf("Distance between p1 and p2: %d", distance);
return 0;
};