• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pole trójkąta w C++

Mały hosting, OGROMNE możliwości
0 głosów
38,208 wizyt
pytanie zadane 23 września 2018 w C i C++ przez Marfarzar Bywalec (2,810 p.)

Szukałem w internecie i na każdej stronie są wpisane inne biblioteki i inne te polecenia. Po uruchomieniu wyskakuje: "Pole trójkąta wynosi=0". 

#include <iostream>
#include <cmath>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;

int main(int argc, char** argv) 
{
	int a,b,c,p,S;
	cout<<"Podaj bok a"<<endl;
	cin>>a;
	cout<<"Podaj bok b"<<endl;
	cin>>b;
	cout<<"Podaj bok c"<<endl;
	cin>>c;
	p=0.5*(a+b+c);
	S=sqrt(p*(p-a)*(p-b)*(p-c));
	cout<<"Pole trojkata wynosi:"<<S;
	

	system("pause"); 
	return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 23 września 2018 przez VirtualMember Pasjonat (15,790 p.)
wybrane 23 września 2018 przez Marfarzar
 
Najlepsza
Przede wszystkim zweryfikuj typ danych. Używasz samych liczb całkowitych, co może Ci wyrzucić bzdurę.

Nawet jeśli a, b oraz c są całkowite, to p = 1/2 * (a+b+c) nie musi, a Ty zdefiniowałeś ją jako int. Proponuję wpisać dla wszystkich typ float albo double
+2 głosów
odpowiedź 23 września 2018 przez PanRik Gaduła (4,510 p.)
Zastanów się kiedy wynik będzie zero:
Zero będzie wtedy gdy: ( p == a || p == b || p == c ) ,
czyli np. dla wypadku: a = 1 ,b = 2, c = 3, p = 0.5 * (1+2+3) - > p = 3. Wynik będzie zero.

Powinieneś dodać sprawdzenie czy spełniony jest warunek nazywany nierównością trójkąta:
(a < b +c) && (b <a +c) && (c < a + b)

Podobne pytania

0 głosów
1 odpowiedź 1,607 wizyt
0 głosów
1 odpowiedź 5,252 wizyt
pytanie zadane 23 stycznia 2019 w C i C++ przez powaznyczlowiek Początkujący (340 p.)
0 głosów
4 odpowiedzi 3,786 wizyt
pytanie zadane 19 stycznia 2019 w C i C++ przez powaznyczlowiek Początkujący (340 p.)

93,696 zapytań

142,614 odpowiedzi

323,225 komentarzy

63,230 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...