Menu
Coddy logo textTech

Structures and Functions

Coddy'nin C/C++ Yapıları kursunda ders 5 / 8.

C/C++ dosyasında bir yapı (structure) oluşturduğunuzda, bu yapıyı bir fonksiyon argümanı veya döndürülen bir değer türü olarak kullanabilirsiniz.

Örneğin, Person yapısının bir yapı olduğunu varsayalım:

void greet(Person p) {
	cout << "Hello, " << p.name << endl;
}

C dilinde, başına struct anahtar kelimesini eklemeniz gerekir:

void greet(struct Person p) {
	printf("Hello, %s\n", p.name);
}
challenge icon

Görev

Kolay

Bir Point yapısı oluşturan, iki noktayı başlatan ve aralarındaki mesafeyi hesaplayan kodun bir kısmı size verilmiştir.

Göreviniz, argüman olarak iki Point yapısı alan, mesafeyi hesaplayan ve bunu döndüren (int türünde) calcDistance adında bir fonksiyon oluşturmaktır.

p1 ve p2 gibi iki nokta verildiğinde, aralarındaki mesafe şöyledir:

(p2.x - p1.x) * (p2.x - p1.x) + (p2.y - p1.y) * (p2.y - p1.y)

Ana fonksiyonu (main function) hiç değiştirmenize gerek yok!

Kendin dene

#include <stdio.h>

struct Point {
    int x;
    int y;
};

// calcDistance'ı burada uygulayın

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++ Yapıları bölümündeki tüm dersler