Witam potrzebuje obliczyć pole i obwód trapezu. Program na zaliczenie.
Jestem początkujący więc proszę o wyrozumiałość :)
Poniżej wklejam kod który udało mi się napisać:)
Wiem że nie powinienem stosować tu int ale to dopiero zarys programu później będzie wczytywanie z pliku i sprawdzanie czy wgl te współrzędne tworzą trapez. Ale napisałem taki uproszczony program żeby zobaczyć z czym sobie nie poradzę :P
Na razie współrzędne wbudowane są w program później będą wczytywane z pliku w kolejności A, B, C, D i będą wymyślone przez wykładowce w celu sprawdzenia różnych zależności, więc proszę nie sugerować się tymi współrzędnymi mogą być one inne więc potrzebuje uniwersalnych rozwiązań:)
A więc teraz pytania :)
-
Długości poszczególnych odcinków policzyłem ale odcinek BC wychodzi mi 7 a powinno 4. Liczyłem to ze wzoru http://www.bazywiedzy.com/wzor-na-dlugosc-odcinka.phpniby rzeczywiście wychodzi 7 ale dlaczego ? :)
-
Musze sprawdzić czy współrzędne tworzą trapez co oznacza że musi mieć przynajmniej jedną parę boków równoległych znalazłem dobry wzór na tej stronie http://www.matematyka.pl/32598.htm tylko mam pytanie czy muszę to sprawdzać tylko dla AB i CD?
-
Czy macie jakieś podpowiedzi przy tworzeniu programu? Jakie mogą spotkać mnie problemy? Jakieś zależności?
-
No i najgorszy problem jak obliczyć wysokość trapezu. Powinienem obliczyć odległość między dwiema prostymi AB i CD ale nie mogę tego przełożyć na kod do swojego programu.
#include <iostream>
#include <math.h>
#include <cstdlib>
#include <conio.h>
using namespace std;
int main()
{
int pole;
int ab,bc,cd,da;
int A[1][2];
int B[1][2];
int C[1][2];
int D[1][2];
A[0][0] = 0;
A[0][1] = 0;
B[0][0] = 0;
B[0][1] = 8;
C[0][0] = 6;
C[0][1] = 4;
D[0][0] = 2;
D[0][1] = 4;
cout << "Wspolrzedne A: "<<A[0][0]<<" "<<A[0][1]<<endl;
cout << "Wspolrzedne B: "<<B[0][0]<<" "<<B[0][1]<<endl;
cout << "Wspolrzedne C: "<<C[0][0]<<" "<<C[0][1]<<endl;
cout << "Wspolrzedne D: "<<D[0][0]<<" "<<D[0][1]<<endl;
ab=sqrt( pow( (B[0][0]-A[0][0]), 2 ) + pow( (B[0][1]-A[0][1]), 2 ) );
bc=sqrt( pow( (C[0][0]-B[0][0]), 2 ) + pow( (C[0][1]-B[0][1]), 2 ) );
cd=sqrt( pow( (D[0][0]-C[0][0]), 2 ) + pow( (D[0][1]-C[0][1]), 2 ) );
da=sqrt( pow( (A[0][0]-D[0][0]), 2 ) + pow( (A[0][1]-D[0][1]), 2 ) );
cout << "Dlugosc AB: "<<ab<<endl;
cout << "Dlugosc BC: "<<bc<<endl;
cout << "Dlugosc CD: "<<cd<<endl;
cout << "Dlugosc DA: "<<da<<endl;
return 0;
}