[C++] Pole trójkąta ze wzoru Herona

Apo123
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 4 cze 2012, o 17:57
Płeć: Mężczyzna
Lokalizacja: Kraków

[C++] Pole trójkąta ze wzoru Herona

Post autor: Apo123 »

Witam mam Duży problem z ogarnieciem tego języka ( i nie tylko tego )
Dostałem takie zadanie że musze zrobić program w Dev ( ze wzoru Herona )
wzór
\(\displaystyle{ p = (a+b+c) \cdot 0,5\\
P_2= \sqrt{ p(p-a)(p-b)(p-c)}}\)


Musi też zajść warunek
\(\displaystyle{ a+b>c, b+c>a, c+a>b}\)
Najelpiej jakby ten program został napisany w najporstszej postaci ... coś próbowałem ale to totalnie nie wyszło :/

Kod: Zaznacz cały

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
	float  a,b,c,pom,p,pole2;
    cout<<"Równanie herona "<<endl;
    cout<<"Podaj pierwszy z bokow trojkata"<<endl;
    cin>>a;
    cout<<"Podaj drugi z bokow trojkata"<<endl;
    cin>>b;
    cout<<"Podaj trzeci z bokow trojkata"<<endl;
    cin>>c;
    if (a+b>c && a+c>b && b+c>a)
    {
              cout<<"Mozna utworzyc trojkat i bedzie on "<<endl;
	cout <<	pom==pole (a+b+c)*0,5 <<endl ;
	cout <<	pole2==sqrt(pom) <<endl ; 
			} 
    else cout<<"Nie mozna utworzyc trojkata"<<endl;         
    cout<<" a jego pole to ";
    cout<<pole2<<endl;
    cout<<endl;
	
	system("pause");
	return 0;
}
Bylbym wdzieczny jakby ktoś to ogarnał
;]
Ostatnio zmieniony 4 cze 2012, o 20:45 przez Afish, łącznie zmieniany 2 razy.
Powód: Kod umieszczaj w znacznikach [code][/code]. Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania. Całe wyrażenia matematyczne umieszczaj w tagach [latex] [/latex].
bartek118
Użytkownik
Użytkownik
Posty: 5974
Rejestracja: 28 lut 2010, o 19:45
Płeć: Mężczyzna
Lokalizacja: Toruń
Podziękował: 15 razy
Pomógł: 1251 razy

[C++] Pole trójkąta ze wzoru Herona

Post autor: bartek118 »

Nie wiem co to ma być:

Kod: Zaznacz cały

cout << pom==pole (a+b+c)*0,5 <<endl ;
cout << pole2==sqrt(pom) <<endl ; 
??

Zamiast tego powinno być odpowiednie przypisanie.
Apo123
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 4 cze 2012, o 17:57
Płeć: Mężczyzna
Lokalizacja: Kraków

[C++] Pole trójkąta ze wzoru Herona

Post autor: Apo123 »

a umiesz to zrobic ?
lemoid
Użytkownik
Użytkownik
Posty: 199
Rejestracja: 24 maja 2012, o 23:36
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 5 razy
Pomógł: 30 razy

[C++] Pole trójkąta ze wzoru Herona

Post autor: lemoid »

Rozpisz to sobie na kartce, popatrz jakie zmienne deklarujesz.

Kod: Zaznacz cały

pom=(a+b+c)*0,5;
pole=sqrt(pom*(p-a)*(p-b)*(p-c));
lastsigma
Użytkownik
Użytkownik
Posty: 16
Rejestracja: 6 lis 2011, o 23:25
Płeć: Mężczyzna
Lokalizacja: Kraków
Pomógł: 4 razy

[C++] Pole trójkąta ze wzoru Herona

Post autor: lastsigma »

Tak jak lemoid wyżej (w zmiennej \(\displaystyle{ pole}\) będzie już obliczona wartość pola). Tylko zamiast \(\displaystyle{ p}\)
wszędzie używasz \(\displaystyle{ pom}\) albo odwrotnie. (Wystarczy, że przepiszesz te wzory, które masz na początku
posta). Oczywiście te podstawienia wykonujesz w ciele instrukcji if-a.
Pod tymi podstawieniami możesz napisać np.

Kod: Zaznacz cały

cout << pole << endl;
aby wypisać pole.
Pod if-em robisz elsa, czyli:

Kod: Zaznacz cały

else cout<<"Nie mozna utworzyc trojkata"<<endl;
No i tyle wystarczy ;]
Kończysz program:

Kod: Zaznacz cały

 system("pause");
   return 0;
Apo123
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 4 cze 2012, o 17:57
Płeć: Mężczyzna
Lokalizacja: Kraków

[C++] Pole trójkąta ze wzoru Herona

Post autor: Apo123 »

Dzięki za rade - teraz działa ;]
ODPOWIEDZ