Kurs maturalny z języka angielskiego!
kurs-maturalny-jezyk-angielski

PROGRAMOWANIE I ALGORYTMY

Zajęcia maturalne z informatyki
Olimpiada Informatyczna Juniorów
    Prowadzący: Marcin Kasprowicz
  • właściciel serwisu algorytm.edu.pl
  • wrzesień 2024 — start zajęć
  • czytaj więcej

Odległość między punktami


Zad. 5. Napisz program, który po podaniu współrzędnych dwóch punktów obliczy odległość między nimi.

Rozwiązanie

Każdy punkt na płaszczyźnie kartezjańskiej ma dwie współrzędne: P(x, y). Załóżmy, że współrzędne punktów nazwiemy następująco:

$$A=(x_1,\ y_1), B=(x_2,\ y_2)$$

wzór na odległość mięszy punktami A i B ma postać:

$$|AB|=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}$$

Przykład

$$A=(2,-2),B=(3,0)$$

Odległość między tymi punktami wynosi:

$$|AB|=\sqrt{(3-2)^2+(0-(-2))^2}=\sqrt{5}\approx2,236$$

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
	float x1,x2,y1,y2;
	
	cout<<"Podaj współrzędną x1: ";
	cin>>x1;

	cout<<"Podaj współrzędną y1: ";
	cin>>y1;

	cout<<"Podaj współrzędną x2: ";
	cin>>x2;

	cout<<"Podaj współrzędną y2: ";
	cin>>y2;

	cout<<"Odległość między punktami A = ("<<x1<<", "<<x2<<"), B = ("<<x2<<", "<<y2<<") wynosi: "
	<<sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))<<endl;

	return 0;
}
Należy pamiętać, że aby użyć funkcji float sqrt(float) należy dodać bibliotekę <cmath>