В кой квадрант са точките и дали съвпадат

Да се напише програма, която позволява да се въведат (чрез структури) координатите на 2 точки от равнината и после проверява и отпечатва:

  1. в кой квадрант се намират точките
  2. дали се намират в един и същи квадрант или не
Публикувано в 12в с етикети . Постоянна връзка.

2 коментара по В кой квадрант са точките и дали съвпадат

  1. sup3rEva каза:

    Мисля, че така се получава >.<

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    struct koordinati
    { int x;
      int y;
    };
     koordinati a;
     koordinati b;
    
    int main(int argc, char** argv) {
      cout<<"Vyvedete koordinatite na ednata tochka: "<<endl;
      cin>>a.x >> a.y;
      cout<<"Vyvedete koordinatite na drugata tochka: "<<endl;
      cin>>b.x >> b.y;
     
        
        if(((a.x)==0)|| ((a.y)==0))
           cout<<"Tochkata leji na osta"<<endl<<endl<<endl;
        else if(((a.x)>=0)&&((a.y))>=0)
           cout<<"Tochkata se namira v purvi kvadrant"<<endl<<endl;
        else if(((a.x)<=0)&&((a.y))>=0)
           cout<<"Tochkata se namira vyv vtori kvadrant"<<endl<<endl;
        else if(((a.x)<=0)&&((a.y))<=0)
           cout<<"Tochkata se namira v treti kvadrant"<<endl<<endl;
        else if(((a.x)>=0)&&((a.y))<=0)
           cout<<"Tochkata se namira v  chetvurti kvadrant"<<endl<<endl;
           
        if(((b.x)==0)|| ((b.y)==0))
           cout<<"Tochkata leji na osta"<<endl<<endl;
        else if(((b.x)>=0)&&((b.y))>=0)
           cout<<"Tochkata se namira v purvi kvadrant"<<endl<<endl;
        else if(((b.x)<=0)&&((b.y))>=0)
           cout<<"Tochkata se namira vyv vtori kvadrant"<<endl<<endl;
        else if(((b.x)<=0)&&((b.y))<=0)
           cout<<"Tochkata se namira v treti kvadrant"<<endl<<endl;
        else if(((b.x)>=0)&&((b.y))<=0)
           cout<<"Tochkata se namira v  chetvurti kvadrant"<<endl<<endl;  
           
        if (((a.x>0)&&(b.x>0))&&((a.y>0)&&(b.y>0))|| ((a.x<0)&&(b.x<0))&&((a.y<0)&&(b.y<0)))
            cout<<"Tochkite sa v edin i syshti kvadrant."<<endl;
       else cout<<"Tochkite sa v razlichni kvadranti"<<endl;   
           
    	return 0;
    }
    • Данаил каза:

      За първата част – yep!

      За втората част – НЕ – пробвай ако и двете точки са във втори или четвърти квадрант, примерно.

      За втората част имаш 3 възможности:
      1) да изредиш проверки за всички квадранти (като не забравяш, че точките може да са на оста :-) )
      2) да направиш функция за проверка точката в кой квадрант е (която ще ти спести половината код и от първата част) и после да провериш if (kvadrant(a) == kvadrant(b)) ….
      3) можеш да провериш и така: if ( ((a.x > 0) == (b.x > 0)) && ((a.y > 0) == (b.y > 0)) )… тоест „ако проверката дали х координатата е положителна за едната точка връща същия резултат и за другата точка, и ако това важи и за у координатите им, то явно точките са в един квадрант“.

      Изборът е твой! :-)

Вашият коментар