수업 10주차 과제 - junhwan1206/ex250310_first GitHub Wiki
#include <stdio.h>
typedef struct {double x, y;} Point;
// 기울기와 절편 계산 int getLineEquation(Point p1, Point p2, double* m, double* b) { if (p1.x == p2.x) return 0; // 수직선 *m = (p2.y - p1.y) / (p2.x - p1.x); *b = p1.y - (*m) * p1.x; return 1; }
int main() { // 두 직선을 이루는 점 2개씩 입력 Point A = { 0, 0 }, B = { 4, 4 }; // 직선 1 Point C = { 0, 4 }, D = { 4, 0 }; // 직선 2
double m1, b1, m2, b2;
int line1OK = getLineEquation(A, B, &m1, &b1);
int line2OK = getLineEquation(C, D, &m2, &b2);
if (!line1OK && !line2OK) {
if (A.x == C.x) {
printf("접한다\n"); // 같은 수직선
}
else {
printf("평행\n"); // 서로 다른 수직선
}
}
else if (!line1OK || !line2OK) {
printf("접한다\n"); // 하나는 수직, 하나는 기울기 있음 → 무조건 한 점에서 만남
}
else {
if (m1 == m2) {
printf("평행\n");
}
else {
printf("접한다\n");
}
}
return 0;
}