اكتب برنامج C للتحقق مما إذا كانت النقطة (x ، y) داخل مثلث أم لا. يتكون المثلث من ثلاث نقاط

  • برمجة
  • برمجة سي c

اكتب برنامج C للتحقق مما إذا كانت النقطة (x ، y) داخل مثلث أم لا. يتكون المثلث من ثلاث نقاط

الإدخال :

x1 ، y1 ، x2 ، y2 ، x3 ، y3 ، xp ، yp مفصولة بمسافة واحدة

مثال عن الخرج المتوقع :

 

Input three points to form a triangle:
x1 y1 z1

Input the point to check it is inside the triangle or not:
The point is outside the triangle!

الأجوبة

/*Write a C program to check if a point (x, y) is within a triangle or not. The triangle has formed by three points*/

#include <stdio.h>
double check_outer_product(double X1, double Y1, double X2, double Y2) {
  return X1 * Y2 - X2 * Y2;
}

int main() {
  double x[3], y[3], xp, yp, cop1, cop2, cop3;
  printf("Input three points to form a triangle:\n");
  scanf("%lf %lf %lf %lf %lf %lf", & x[0], & y[0], & x[1], & y[1], & x[2], & y[2]);
  printf("\nInput the point to check it is inside the triangle or not:\n");
  scanf("%lf %lf", & xp, & yp);

  cop1 = check_outer_product(x[1] - x[0], y[1] - y[0], xp - x[0], yp - y[0]);
  cop2 = check_outer_product(x[2] - x[1], y[2] - y[1], xp - x[1], yp - y[1]);
  cop3 = check_outer_product(x[0] - x[2], y[0] - y[2], xp - x[2], yp - y[2]);
  if (((cop1 > 0.0) && (cop2 > 0.0) && (cop3 > 0.0)) || (cop1 < 0.0) && (cop2 < 0.0) && (cop3 < 0.0)) {
    printf("The point is inside the triangle!");
  } else {
    printf("The point is outside the triangle!");
  }
  return 0;
}
هل كان المحتوى مفيد؟

تبحث عن مدرس اونلاين؟

محتاج مساعدة باختيار المدرس الافضل؟ تواصل مع فريقنا الان لمساعدتك بتأمين افضل مدرس
ماهو التخصص الذي تبحث عنه؟
اكتب هنا...