Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 406 Triunghi2  (Citit de 7749 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« : Aprilie 24, 2007, 07:38:24 »

Aici puteţi discuta despre problema Triunghi2.
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #1 : Mai 26, 2007, 21:57:12 »

Ar putea sa-mi spuna cineva ce este gresit la functia asta de determinare a ariei?

Cod:

int arie(int x1,int y1, int x2, int y2, int x3, int y3)
{
int area;
area=(x3-x1)*(y2-y1)-(x2-x1)*(y3-y1);
return abs(area/2);
}


Iau doar 70 de puncte, cu WA pe celelalte...Am testele oficiale, insa e destul de dificil de debug. Eu, pt a verifica daca un punct este in interiorul unui triunghi fac asa:

*fie ABC triunghiul, iar M, punctul al carui pozitie trebuie verificata.
*calculez aria lui ABC, lui ABM, lui ACM, lui BCM, si verific daca A(ABM)+A(BCM)+A(ACM)==A(ABC). Daca are loc conditia asta, atunci inseamna ca se afla in interior. Banuiesc k greseala este la functia de determinare a ariei...
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #2 : Mai 26, 2007, 22:11:05 »

E buna formula.
Memorat

Am zis Mr. Green
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« Răspunde #3 : Mai 27, 2007, 11:33:41 »

Ai grija ca tu acolo trunchezi aria( din x.5 tu obtii x). Poti pur si simplu sa nu mai imparti la 2 si sa verifici asa sumele alea.
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #4 : Mai 27, 2007, 14:17:25 »

Incercasem si fara impartire si tot nu`mi iese. Cat va da pentru:

Cod:


Coordonatele ABC: 98 -87 -133 45 116 193

Coordonatele M: 31 80



Ma intereseaza care este aria triunghiului, si a celor trei triunghiuri formate de laturile ABC cu punctul M.


LE: Am renuntat la "abs" si imi da la o arie "-1". Am pus cu "abs" si imi da 0. De ce?

LE2: Am facut niste modificari, obtinand un program care nu-mi dadea bine deloc pe testele mele...Am trimis si....surpriza: 100 de puncte Yahoo!  E o porcarie Borland-ul..ma las de el. Annoyed

LE3: Gata! Mi-am pus rhide....Alta viatza!... Rolling Eyes
« Ultima modificare: Iunie 01, 2007, 22:39:50 de către Marcu Florian » Memorat
Robytzza
De-al casei
***

Karma: -49
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #5 : Iunie 13, 2007, 13:29:32 »

datzimi si mie ceva idei ,la al doilea punct (sa verific daca e vre un taran care ii cuprinde pe ceilaltzi ) ca nu prea imi da
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #6 : Iunie 13, 2007, 13:47:36 »

Pai in primul rand, daca exista un asemenea tzaran, asta inseamna ca e posesorul parcelei cu aria cea mai mare! Avand coordonatele triunghiului de arie maxima, este destul de usor sa verifici pt fiecare punct al fiecarui triunghi daca este in interiorul triunghiului de arie maxima! Deci, sa presupunem ca triunghiul de arie maxima este ABC. Pentru toate celelalte triunghiuri de forma DEF, verifici dak D, E, respectiv F sunt in interiorul lui ABC. Este de ajuns k acest lucru sa fie fals o singura data si te poti opri. Succes!  Thumb up
Memorat
Robytzza
De-al casei
***

Karma: -49
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #7 : Iunie 13, 2007, 15:08:40 »

oky o sa incerc asa ms mult  Thumb up
Memorat
vanila_CPP
Strain


Karma: -55
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #8 : Februarie 27, 2008, 02:33:33 »

eu iau 100 pe testele de la ONI si totusi sursa mea continua sa ia 20 in arhiva Confused
e vreo regula de afisare?(ceva cu spatii intre numere sau chestii de genu)??
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #9 : Februarie 27, 2008, 11:19:56 »

poate e din cauza ca afli gresit aria... si eu la inceput luam 65-70 de puncte din cauza ca faceam functia de aflare a ariei double...
dupaia am facut-o int si am impartit la 2 la sfarsit (la afisare)si am luat 100... cred ca e un bug al c-ului (e ciudat dar nu imi aproxima corect x/2)... nuj incearca asa... Smile
Memorat
vanila_CPP
Strain


Karma: -55
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #10 : Februarie 27, 2008, 20:43:12 »

eu calculam aria cu heron. nu stiu de ce dar busea. acum am calculat cu determinanti si merge Yahoo!
Memorat
astronomy
Nu mai tace
*****

Karma: 204
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #11 : Februarie 27, 2008, 21:23:22 »

Apar erori de precizie daca faci cu formula lui heron.
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #12 : Martie 10, 2008, 19:58:31 »

Cod:

int arie(int x1,int y1, int x2, int y2, int x3, int y3)
{
int area;
area=(x3-x1)*(y2-y1)-(x2-x1)*(y3-y1);
return abs(area/2);
}



Exista vreo demonstratie a formulei, pentru ca nu ma prea prind  Confused
« Ultima modificare: Martie 10, 2008, 20:50:28 de către Andrei Misarca » Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #13 : Martie 10, 2008, 20:23:23 »

da vezi ca tu nu faci bine  Tongue faci functia int si cand returnezi area/2 iti face parte intreaga si pentru arie 13.5 de exemplu tie iti da area=27 si tu returnezi 26... daca vrei pui functia double sau returnezi fara impartirea la 2.

si eu din cate stiu aria se facea cu o chestie care am uitat cum se numeste Very Happy

ceva gen o chestie pentru  |a b c |      | x1 y1 1 |
                                     |d e f  | =   | x2 y2 1 |
                                     |g h i  |      | x3 y3 1 |

care e  aei + dhc + bfg - ceg - dbi - hfa deci x1y2 + x2y3 + x3y1 - x3y2 - x2y1 - x1y3 de unde formula (dai factor comun)

citeste mai multe aici http://www.softsurfer.com/Archive/algorithm_0101/algorithm_0101.htm
« Ultima modificare: Martie 10, 2008, 22:27:47 de către Pripoae Teodor Anton » Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #14 : Martie 10, 2008, 20:53:51 »

Mersi fain... kiar tare formula  Thumb up adik fata de formula lu Heron la care calculezi de mori si tot nu da bine asta kiar super misto Banana
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #15 : Martie 10, 2008, 21:46:41 »

Citat
si eu din cate stie aria se facea cu o chestie care am uitat cum se numeste

chestia aia se numeste determinant
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #16 : Martie 10, 2008, 22:28:09 »

da Very Happy ms uitasem
Memorat
ciprianf
De-al casei
***

Karma: 11
Deconectat Deconectat

Mesaje: 104



Vezi Profilul
« Răspunde #17 : Aprilie 10, 2008, 20:23:06 »

Editat de moderator: Nu postati rezolvari complete! Mai ales cand nu vi le cere nimeni!
« Ultima modificare: Aprilie 10, 2008, 23:19:20 de către Paul-Dan Baltescu » Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #18 : Aprilie 10, 2008, 20:27:56 »

Puteai sa il lasi pe fiecare sa isi frece putin mintea si sa se prinda singur de rezolvare.  Thumb down
Memorat
ciprianf
De-al casei
***

Karma: 11
Deconectat Deconectat

Mesaje: 104



Vezi Profilul
« Răspunde #19 : Aprilie 10, 2008, 20:33:30 »

Nu am vrut decat sa ajut... Aha ....oricum si metoda cu aria e destul de clar explicata Tongue ...daca e prea detaliat, rog un admin sa-mi stearga postul
« Ultima modificare: Aprilie 10, 2008, 20:48:11 de către Farcasanu Ciprian » Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #20 : Aprilie 10, 2008, 23:19:39 »

Puteai sa il lasi pe fiecare sa isi frece putin mintea si sa se prinda singur de rezolvare.  Thumb down

S-a rezolvat. Tongue
Memorat

Am zis Mr. Green
tvlad
De-al casei
***

Karma: 63
Deconectat Deconectat

Mesaje: 121



Vezi Profilul
« Răspunde #21 : Aprilie 17, 2008, 15:54:05 »

Intra lejer si brut la punctul 2 Tongue
Memorat
bacerandrei
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« Răspunde #22 : Martie 31, 2009, 09:40:58 »

Dezgrop si eu acest subiect...pentru ca m-am apucat sa ma perfectionez la capitolul geometrie la care nu stau prea bine Whistle

Deci, la punctul 1 verific pentru fiecare triunghi daca punctul ce reprezinta fantana se afla in interiorul triunghiului, folosind determinanti.
La punctul 2 aflu triunghiul de arie maxima, iar pentru fiecare triunghi verific apoi daca fiecare varf al lui se afla in interiorul triunghiului de arie maxima.

Imi poate spune cineva, va rog, unde gresesc? Fighting
Memorat
DraStiK
Nu mai tace
*****

Karma: 131
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #23 : Martie 31, 2009, 09:42:47 »

Dezgrop si eu acest subiect...pentru ca m-am apucat sa ma perfectionez la capitolul geometrie la care nu stau prea bine Whistle

Deci, la punctul 1 verific pentru fiecare triunghi daca punctul ce reprezinta fantana se afla in interiorul triunghiului, folosind determinanti.
La punctul 2 aflu triunghiul de arie maxima, iar pentru fiecare triunghi verific apoi daca fiecare varf al lui se afla in interiorul triunghiului de arie maxima.

Imi poate spune cineva, va rog, unde gresesc? Fighting

ideea de rezolvare este corecta, nefiind nimic gresit

cel mai probabil gresesti la implementare
vezi sa fii atent si la faptul ca aria se imparte la 2 (la calcului cu determinati) si in rest nu prea mai sunt cazuri speciale

daca nu reusesti dami un pm Smile
Memorat
bacerandrei
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« Răspunde #24 : Martie 31, 2009, 09:46:34 »

Impart aria la 2, iar ca sa vad daca un punct e interior unui triunghi fac cei trei determinanti si verific daca au acelasi semn. Inca nu pot sa imi dau seama unde e gresita implementarea. Probabil nu sunt suficient de atent. Brick wall
Memorat
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines