[C++] Wczytywanie współrzędnych dla punktów

pazjusz
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 30 cze 2015, o 12:11
Płeć: Mężczyzna
Lokalizacja: Warszawa

[C++] Wczytywanie współrzędnych dla punktów

Post autor: pazjusz »

Czy może mi ktoś podpowiedzieć jak ugryźć poniższy problem w C++?

1) wczytaj rzeczywiste współrzędne dla 2 punktów w R2: \(\displaystyle{ x_1, y_1}\) oraz \(\displaystyle{ x_2, y_2}\)
2) sprawdź który punkt leży bliżej środka układu (a może odległości są równe?) i wypisz odpowiedni komunikat

-- 30 cze 2015, o 13:02 --

punkt pierwszy rozgryzłem;

Kod: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
  float x1,x2,y1,y2;

  cout<<"Podaj wspolrzedna x1: ";
  cin>>x1;

  cout<<"Podaj wspolrzedna y1: ";
  cin>>y1;

  cout<<"Podaj wspolrzedna x2: ";
  cin>>x2;

  cout<<"Podaj wspolrzedna y2: ";
  cin>>y2;
    
  return 0;
}
Ostatnio zmieniony 30 cze 2015, o 15:44 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
chlorofil
Użytkownik
Użytkownik
Posty: 548
Rejestracja: 16 cze 2010, o 18:30
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 29 razy
Pomógł: 96 razy

[C++] Wczytywanie współrzędnych dla punktów

Post autor: chlorofil »

Odległość punktu \(\displaystyle{ P=(x_1,y_1)}\) od środka układu współrzędnych, czyli punktu \(\displaystyle{ O=(0, 0)}\) wynosi:

\(\displaystyle{ dist_1 = \sqrt\(x_1^2+y_1^2\)}\)
\(\displaystyle{ dist_2 = \sqrt\(x_2^2+y_2^2\)}\)

Z <cmath> będziesz potrzebował funkcji:
double sqrt (double x);
i wystarczy porównać \(\displaystyle{ dist_1}\) i \(\displaystyle{ dist_2}\).

To takie najbardziej narzucające się rozwiązanie. Chociaż nie musisz wcale używać pierwiastka, możesz porównywać ze sobą kwadraty odległości i też będzie dobrze, bo pierwiastek kwadratowy jest funkcją różnowartościową.

I tyle. Aha, używaj typu \(\displaystyle{ double}\) zamiast \(\displaystyle{ float}\).
ODPOWIEDZ