👤

Se consideră dată funcţia de determinare a orientării unui triunghi: (2p)
int orientare(punct P,punct Q,punct R)
Fie funcţia următoare:

int functie_necunoscuta(punct A, punct B, punct C, punct D){
return ((orientare(A,B,C) * orientare(A,B,D)== 0) && (orientare(C,D,A) * orientare(C,D,B) < 0);
};

Atunci funcţia returnează valoarea 1 dacă şi numai dacă:
a.) segmentele [AB] şi [CD] au o intersecţie proprie (într-un punct interior fiecăruia), ,
b.) segmentele [AB] şi [CD] sunt pe aceeaşi dreaptă,
c.) segmentele [AB] şi [CD] au o un punct comun intr-unul din capetele segmentului [CD]
d.) segmentele [AB] şi [CD] au o un punct comun intr-unul din capetele segmentului [AB]
e.) niciuna din variantele precedente, funcţia este greşită!


Răspuns :

Răspuns:

e.) niciuna din variantele precedente, funcţia este greşită!

Explicație:

In primul rand  functia de determinare a orientarii unui triunghi ("orientare") este de tip "int" dar nu returneaza nimic, ceea ce este imposibil. Daca era o functie ce nu returneaza nimic trebuia sa fie de tip void.

In al doilea rand, cea de-a doua functie ("functie_nescunoscuta") are punct si virgula ( ; ) dupa ultima acolada, ceea ce este incorect. De asemenea lipseste o paranteza rotunda inchisa la finalul return-ului.