Menu
Coddy logo textTech

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);
}
challenge icon

チャレンジ

簡単

Point 構造体を作成し、2つの点を初期化して、それらの間の距離を計算するコードの一部が与えられています。

あなたのタスクは、2つの Point 構造体を引数として受け取り、距離を計算してそれを返す(int型) calcDistance という名前の関数を作成することです。

2つの点 p1p2 が与えられたとき、それらの間の距離は以下の通りです:

(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;
};

C/C++ 構造体のすべてのレッスン