Mam napisać funkcję, ale nie wiem co przyjmuje w argumentach tzn.
bool analizuj_trojkat(int a, int b, int c, float *obwod, float *pole)
Argument wejściowy dla:
float* obwod i float * pole
-> to wskaźnik czy co?
Mam napisać funkcję, ale nie wiem co przyjmuje w argumentach tzn.
bool analizuj_trojkat(int a, int b, int c, float *obwod, float *pole)
Argument wejściowy dla:
float* obwod i float * pole
-> to wskaźnik czy co?
No wskaźnik.
To jak niby mam przekazać ten obwód? Zdefiniować wskaźnik, przypisać adres zmiennej typu float wskaźnikowi, dostarczyć go do funkcji i w funkcji posługiwać się:
*wskaznik=(a+b+c)
tak?
float obwod = a + b + c;
float pole = ...
analizuj_trojkat(a, b, c, &obwod, &pole);
Ale stawiam piwo, że te wskaźniki nie są tam potrzebne i można lepiej tę funkcję napisać.
twonek napisał(a):
Ale stawiam piwo, że te wskaźniki nie są tam potrzebne i można lepiej tę funkcję napisać.
Czyli teraz zwracamy przez referencję? Wskaźniki nie są moim wymysłem, ale profesora.
Strzelam, że najpierw funkcja ma sprawdzić czy a, b i c mogą utworzyć trójkąt (a więc min(a,b,c) + med(a,b,c) < max(a,b,c)), a następnie obliczyć pole i obwód i zapisać pod podanymi adresami. Na końcu ma zwrócić wartość logiczną informującą czy z danych boków da się utworzyć trójkąt. To jest mój domysł.