Strona 1 z 1

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

: 4 cze 2012, o 18:20
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ł
;]

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

: 4 cze 2012, o 18:40
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.

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

: 4 cze 2012, o 18:55
autor: Apo123
a umiesz to zrobic ?

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

: 4 cze 2012, o 21:32
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));

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

: 4 cze 2012, o 21:46
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;

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

: 5 cze 2012, o 19:07
autor: Apo123
Dzięki za rade - teraz działa ;]