Advertisement
Guest User

asiansexdiare

a guest
Apr 22nd, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.43 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <vector>
  4. #include <iomanip>
  5. #include <map>
  6. #include <cmath>
  7. using namespace std;
  8. class Poligon {
  9.  
  10.       public:
  11.       vector<double> x;
  12.       vector<double> y;
  13.       int nEdge;
  14.       void set(double cox,double coy){
  15.           x.push_back(cox);
  16.           y.push_back(coy);
  17.       }
  18.       void print(){
  19.          // cout<<"["<<x[0]<<","<<y[0]"-["<<x[x.size()-1]<<","<<y[y.size()-1]<<"]\n";
  20.          cout<<fixed<<setprecision(2)<<"["<<x[0]<<","<<y[0]<<"]-["<<x[x.size()-1]<<","<<y[y.size()-1]<<"]"<<endl;
  21.       }
  22.       double keliling(){
  23.           double k=0,dist;
  24.           for(int i=0;i<x.size();i++){
  25.               double dist = sqrt(pow(x[i]-x[(i+1)%x.size()], 2) + pow(y[i]-y[(i+1)%x.size()], 2));
  26.               k+=dist;
  27.           }
  28.           return k;
  29.       }
  30.    };
  31. class Segitiga : public Poligon{
  32.     public:
  33.     double det,x_1,y_1,x_2,y_2,x_3,y_3;
  34.  
  35.     void set(double x1,double y1,double x2,double y2,double x3,double y3){
  36.         x_1=x1;
  37.         y_1=y1;
  38.         x_2=x2;
  39.         y_2=y2;
  40.         x_3=x3;
  41.         y_3=y3;
  42.         det=abs(((x_2*y_3)+(x_3*y_1)+(x_1*y_2)-(y_1*x_2)-(y_2*x_3)-(y_3*x_1))/2);
  43.     }
  44.     double luas(){
  45.         return det;
  46.     }
  47. };
  48. class Segiempat : public Poligon
  49. {
  50.     public:
  51.     double a,b,c,d;
  52.     double det,x1,y1,x2,y2,x3,y3,x4,y4;
  53.  
  54.     double luas(){
  55.         return pow(keliling()/4,2);
  56.     }
  57. };
  58.  
  59. int main()
  60. {
  61.     Segitiga triangle[101];
  62.     Segiempat fourangle[101];
  63.     int tri,four,ntri=0,nfour=0;
  64.     double x1,y1,x2,y2,x3,y3,x4,y4;
  65.     double rata_tri=0,rata_four=0;
  66.     cin>>tri;
  67.     for (int i = 0; i < tri; ++i)
  68.     {
  69.         cin>>x1>>y1>>x2>>y2>>x3>>y3;
  70.         triangle[i].set(x1,y1,x2,y2,x3,y3);
  71.         rata_tri+=triangle[i].luas();
  72.     }
  73.     rata_tri = rata_tri*1.0/tri;
  74.  
  75.     for (int i = 0; i < tri; ++i)
  76.     {
  77.         if(rata_tri < triangle[i].luas()) ntri++;
  78.     }
  79.  
  80.     cin>>four;
  81.     for (int i = 0; i < four; ++i)
  82.     {
  83.         cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4;
  84.         fourangle[i].set(x1,y1);
  85.         fourangle[i].set(x2,y2);
  86.         fourangle[i].set(x3,y3);
  87.         fourangle[i].set(x4,y4);
  88.         rata_four+=fourangle[i].luas();
  89.     }
  90.     rata_four = rata_four*1.0/four;
  91.     for (int i = 0; i < four; ++i)
  92.     {
  93.         if(rata_four < fourangle[i].luas()) nfour++;
  94.     }
  95.     cout<<fixed<<setprecision(2)<<rata_tri<<" "<<rata_four<<endl<<ntri<<" "<<nfour<<endl;
  96.    return 0;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement