Funkcja zwraca długość przekątnej prostokąta o bokach a i b. Argumentami tej funkcji są dwie liczby rzeczywiste a i b. Długość przekątnej można policzyć ze wzoru:
$$\sqrt{a^2+b^2}\ tw.\ Pitagorasa$$
Jednak przy odpowiednio spreparowanych danych łatwo jest wyjść poza zakres, gdyż wykonujemy operację potęgowania. Funkcja $$hypot()$$, pozwala nam ominąć tą niedogodność (sprytne wyciągnięcie jednej wartości przed nawias).
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
double a = 3, b = 4.; //ustawiamy wartosć na sztywno
cout<<"Długosć przekątnej prostokąta o bokach 3 i 4 wynosi "<<hypot(a, b)<<endl;
cout<<"natomiast o bokach 10 i 11 wynosi "<<hypot(10, 11)<<endl;
double wynik = hypot(8, 6);
cout<<"a o bokach 8 i 6 wynosi: "<<wynik<<endl;
cout<<"Podaj długosci boków prostokąta: ";
cin>>a>>b;
cout<<"Przekątna prostokąta "<<a<<"x"<<b<<" = "<<hypot(a, b)<<endl;
cout<<"Po zaokrągleniu do dwóch miejsc po przecinku i usunięciu notacji wykładniczej: "<<
setprecision(2)<<fixed<<hypot(a, b);
cin.ignore();
cin.get();
return 0;
}
Wejście i wyjście:
Długosć przekątnej prostokąta o bokach 3 i 4 wynosi 5 natomiast o bokach 10 i 11 wynosi 14.8661 a o bokach 8 i 6 wynosi: 10 Podaj długosci boków prostokąta: 6 8 Przekątna prostokąta 6x8 = 10 Po zaokrągleniu do dwóch miejsc po przecinku i usunięciu notacji wykładniczej: 10.00