[C++] Pole trójkąta równobocznego, co zrobiłem źle?

Mianowicie miałem zrobić program, który z boku a obliczy mi obwód trójkąta równobocznego oraz jego pole ( (a^2v3)/4 ).

Chyba coś namieszałem z funkcją sqrt (pierwszy raz ją używam), albo w ogóle z całym kodem, mógłby ktoś poprawić?

#include 

using namespace std;

double a,b,c,d,e,f;

int main()

{

	cin>>a>>b>>c>>d>>e>>f;

	b=a*a;

	c=b+sqrt (f);

	d=c/4;

	e=a+a+a;

	f=3;

	cout<
	cout<
}


[/code]

Nie wiem z jakiego środowiska korzystasz, ale w praktycznie każdym masz do dyspozycji debugger - uruchom go, postaw breakpoint w pierwszej linii i przejdź przez program linijka po linijce sprawdzając, co w danej chwili zawierają zmienne - na pewno namierzysz w ten sposób błąd.

Czy Ty wiesz cokolwiek o programowaniu?

Jak się gdzieś w kodzie używa jakiejś zmiennej, to powinna być ona wcześniej zainicjowana (jakąś wartością). A teraz przyjrzyj się listingowi i zwróć np. uwagę na zmienną f - najpierw jest dla niej wywoływana funkcja sqrt(), a kilka linii niżej jest dopiero przypisywana wartość 3. Rozumiesz, że te “f=3;” powinno być wcześniej?

Poza tym masz inne błędy. Poprawny kod (główny fragment) powinien wyglądać tak (chyba, bo nie sprawdzałem go):

b=a*a;

f=3;

c=b*sqrt(f);

d=c/4; EDIT: to był u mnie błąd (4 zamiast 2)

e=a+a+a;

Poza tym cały powyższy kod można skrócić do takiego:

d=a*a*sqrt(3)/4; EDIT: to był u mnie błąd (4 zamiast 2)

e=3*a;

I na końcu nie wypisujesz wartości a i b, tylko d (pole) i e (obwód):

cout<
   cout<

Dziwny ten program. To ja może tylko dodam, że jak chcesz używać sqrt() musisz dodać do kodu

#include     [/code]

o sqrt(): http://www.cplusplus.com/reference/clibrary/cmath/sqrt/

#include 

#include 


using namespace std;

double a,pole,obwod;

int main()

{

	cout<< "Podaj bok A = ";

	cin>> a;

	pole=(a*a*sqrt(3))/4;

	cout<< "\n Pole wynosi :";

	cout<< pole;

	obwod=3*a;

	cout<< "\n Obowd wynsoi :";

	cout<< obwod;

        return 0;

}

Rozumiem że podajesz bok A.

Pole = (a*a * SQRT(3))/4

Obwód = 3 * a

Jak się machnąłem to wielkie sory zrobiłem z nudów.

@Pablo_Wawa Początkującym jestem, lepiej jakbym uczył się na błędach niż wcale. :wink:

Dzięki wszystkim za wsparcie.

poza tym w twoim kodzie dałeś taką linijke

cin>>a>>b>>c>>d>>e>>f;

a kilka linijek później

f=3;

czy ja mógłbym się dowiedzieć gdzie tutaj jest logika?

Przeca autor napisał, że jest początkującym programistą. Zapewne tę instrukcję wczytującą dane widział w jakimś innym programie, a że tam działała (?), to i tu ją użył.