[C++] wzór herona w instrukcji sterujacej if.
Ostatnio zmodyfikowano 2016-01-06 16:00
Eryk17 Temat założony przez niniejszego użytkownika |
[C++] wzór herona w instrukcji sterujacej if. » 2016-01-06 14:30:36 hej. mam za zadanie napisać program który po podaniu długości boków a,b,c obliczy mi czy pole jest dodatnie czy ujemne. Użyłem do tego wzoru herona ale testerka na main2 mi wyrzuca błędy czyli złe odpowiedzi. #include <iostream> #include<math.h> using namespace std;
int main() { unsigned int a, b, c; cin >> a >> b >> c; int p =( a + b + c ) / 2; int pole = sqrt( p *( p - a ) *( p - b ) *( p - c ) ); if( p > 0 ) { cout << "TAK"; } else { cout << "NIE"; } }
|
|
mateczek |
» 2016-01-06 14:47:11 :P pole ujemne ?? co to za cudo i w jakim świecie ?? if( p > 0 ) - p to chyba połowa obwodu sprawdzasz czy obwód jest dodatni?? czy dodatni obwód implikuje dodatnie pole?? :P
|
|
Eryk17 Temat założony przez niniejszego użytkownika |
» 2016-01-06 15:35:39 http://main2.edu.pl/c/konkurs-wstepu-do-programowania/p/tro/ - tutaj jest tresc zadania. W skrócie:czy z podanych liczb da się zrobić trójkąt o nie ujemnym polu? |
|
Monika90 |
» 2016-01-06 15:53:24 A nie możesz skorzystać z warunku trójkąta? Wiesz, jeżeli suma długości każdej pary boków jest większa od długości trzeciego, to da się z tego zrobić trójkąt. |
|
mateczek |
» 2016-01-06 15:55:08 Pomijając fakt, że nie ma figury o ujemnym polu:P To ja bym wziął pod analizę tylko pierwszą część zadania!!! "czy z danych odcinków da się zbudować trójkąt :P??" Ja bym to zrobił tak !!! #include <iostream> using namespace std;
int main() { int a, b, c; cin >> a >> b >> c; if((( a + b ) > c ) &&(( a + c ) > b ) &&(( b + c ) > a ) ) cout << "TAK" << endl; else cout << "NIE" << endl; }
Uwaga do twojego programu jest taka że piszesz o polu a porównujesz z zerem obwód !!! (nie wiem jak działa wzór herona ale ty go nie bierzesz pod uwagę) Ps. Polecam http://pl.spoj.com/ fajniejsza zabawa przynajmniej tak mi się wydaje !!! |
|
Pawlo3 |
» 2016-01-06 16:00:25 @Monika90 jak ma tego nie wiedzieć, jak to w 5. klasie podstawówki jest. Poprawka według wzoru, który podała Monika90: #include <iostream> int main( void ) { double a, b, c; cout << "Podaj 3 dlugosci bokow trojkata:\n" cout << "a: "; cin >> a; cout << "b: "; cin >> b; cout << "c: "; cin >> c; if(( a + b ) > c &&( c + b ) > a &&( a + c ) > b ) cout << "Trojkat da sie zbudowac\n"; else cout << "Takiego trojkata nie da sie zbudowac.\n"; return 0; }
|
|
« 1 » |