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

hypot - długość przekątnej prostokąta


powrót

Funkcja zwraca długość przekątnej prostokąta o bokach b. Argumentami tej funkcji są dwie liczby rzeczywiste ab. 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).

Zastosowanie

#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