fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main(void) {
  5. double ax, ay, bx, by, cx, cy, dx, dy;//Даны по условию или нужно найти.
  6. double A1, B1, C1, A2, B2, C2, ox, oy;//Используются для вычислений.
  7. printf("Введите координаты точек A, B, C.\n");
  8. scanf("%lf %lf %lf %lf %lf %lf\n", &ax, &ay, &bx, &by, &cx, &cy);
  9. A1=cy-by;//Постоянные из уравнения прямой BC.
  10. B1=bx-cx;
  11. C1=by*(cx-bx)-bx*(cy-by);
  12. A2=-B1;//Постоянные из уравнения прямой a.
  13. B2=A1;
  14. C2=B1*ax-A1*ay;
  15. ox=(B1*C2-B2*C1)/(A1*B2-A2*B1);//Координаты точки О.
  16. oy=(C1*A2-C2*A1)/(A1*B2-A2*B1);
  17. dx=2*ox-ax;//Координаты точки D.
  18. dy=2*oy-ay;
  19. printf("D(%lf;%lf)\n", dx, dy);
  20. return 0;
  21. }
  22.  
Success #stdin #stdout 0s 2296KB
stdin
2 2 0 0 1 0
stdout
Введите координаты точек A, B, C.
D(2.000000;-2.000000)