Spicke

111111123

Oct 14th, 2018
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.17 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. double S(double a, double b, double c) {
  7.     double p = (a + b + c) / 2;
  8.     return sqrt(p*(p - a)*(p - b)*(p - c));
  9. }
  10.  
  11. double R(double x1, double y1, double x2, double y2) {
  12.     return sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2));
  13. }
  14.  
  15. int main() {
  16.     int g, k, x, y, r, p = 0;
  17.     double Ax = 400, Ay = 400, Bx = 606, By = 606, Cx = 812, Cy = 400, Dx = 606, Dy = 194;
  18.     double AB, AC, BC, CD, AD, A0, B0, C0, D0, s, ss, s1, s2, s3, s4, s5;
  19.  
  20.     AB = R(Ax, Ay, Bx, By); AC = R(Ax, Ay, Cx, Cy);
  21.     BC = R(Bx, By, Cx, Cy); CD = R(Cx, Cy, Dx, Dy);
  22.     AD = R(Ax, Ay, Dx, Dy); s1 = 0; s2 = 0; s3 = 0;
  23.     s = S(AB, BC, AC); ss = S(AC, AD, CD);
  24.     cout << "\n Input X: "; cin >> x;
  25.     cout << "\n Input Y: "; cin >> y;
  26.     cout << "\n Input R: "; cin >> r;
  27.     for (g = Ax; g<Bx; g++) {
  28.         for (k = Cy; k<By; k++) {
  29.             A0 = R(Ax, Ay, g, k); B0 = R(Bx, By, g, k);
  30.             C0 = R(Cx, Cy, g, k); D0 = R(Dx, Dy, g, k);
  31.             s1 = S(AB, B0, A0); s2 = S(BC, B0, C0); s3 = S(AC, C0, A0);
  32.             s4 = S(CD, C0, D0); s5 = S(AD, A0, D0);
  33.             if ((R(x, y, g, k) <= r*r && ((s == s1 + s2 + s3) || (ss == s3 + s4 + s5)))) { p++; }
  34.         }
  35.     }
  36.     cout << p << endl;
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment