SHARE
TWEET

Untitled

a guest May 19th, 2019 54 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <string.h>
  3. #include <cstdlib>
  4. #include <algorithm>
  5.  
  6. using namespace std;
  7.  
  8. struct odcinek
  9. {
  10.     double x1, y1, x2, y2, mx;
  11.     string nazwa;
  12.     int nr;
  13.     bool operator < (const odcinek &x)const
  14.     {
  15.         return mx>x.mx;
  16.     }
  17. };
  18.  
  19.  
  20. int main()
  21. {
  22.     int n;
  23.     cout << "Podaj liczbe odcinkow do wprowadzenia: "; cin >> n;
  24.     odcinek dane[n];
  25.  
  26.     for (int i=0; i<n; i++)
  27.     {
  28.         dane[i].nr = i+1;
  29.         cout <<"Podaj nazwe odcinka: "; cin>>dane[i].nazwa;
  30.         cout <<"Podaj x1: "; cin >>dane[i].x1;
  31.         cout <<"Podaj y1: "; cin >>dane[i].y1;
  32.         cout <<"Podaj x2: "; cin >>dane[i].x2;
  33.         cout <<"Podaj y2: "; cin >>dane[i].y2;
  34.         dane[i].mx = min(dane[i].x1, dane[i].x2);
  35.  
  36.     }
  37.     for (int i=0; i<n; i++)
  38.     {
  39.         cout <<"Odcienk nr: "<<dane[i].nr;
  40.         cout <<" Nazywa sie: "<<dane[i].nazwa<<endl;
  41.         cout <<"Posiada x1: "<<dane[i].x1<<endl;
  42.         cout <<"Posiada y1: "<<dane[i].y1<<endl;
  43.         cout <<"Posiada x2: "<<dane[i].x2<<endl;
  44.         cout <<"Posiada y2: "<<dane[i].y2<<endl;
  45.  
  46.     }
  47.  
  48.     cout <<"Rozpoczynam sortowanie"<<endl<<endl;
  49.     sort (dane, dane+n);
  50.  
  51.     for (int i=0; i<n; i++)
  52.     {
  53.         cout <<"Odcienk nr: "<<dane[i].nr;
  54.         cout <<" Nazywa sie: "<<dane[i].nazwa<<endl;
  55.         cout <<"Posiada x1: "<<dane[i].x1<<endl;
  56.         cout <<"Posiada y1: "<<dane[i].y1<<endl;
  57.         cout <<"Posiada x2: "<<dane[i].x2<<endl;
  58.         cout <<"Posiada y2: "<<dane[i].y2<<endl;
  59.  
  60.     }
  61.  
  62.     cout <<endl<<endl<<endl;
  63.     cout <<"Wypisuje ktory odcinek z ktorym bede sprawdzal: "<<endl;
  64.  
  65.     for (int i=0; i<n; i++)
  66.     {
  67.          if ((min(dane[i].x1, dane[i].x2)<=dane[i+1].x1&&dane[i+1].x1<=max(dane[i].x1, dane[i].x2))
  68.             ||
  69.             (min(dane[i].x1, dane[i].x2)<=dane[i+1].x2&&dane[i+1].x2<=max(dane[i].x1, dane[i].x2)))
  70.             {
  71.                 cout <<"Odcinek : " << dane[i].nazwa << " zostanie poddany sprawdzeniu z odcinkiem: " <<dane[i+1].nazwa<<endl;
  72.             }
  73.     }
  74.  
  75.  
  76.     return 0;
  77. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top