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);
}Görev
KolayBir 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;
};