Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 129 Cercuri  (Citit de 11180 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
ditzone
Vizitator
« : Octombrie 23, 2005, 21:52:50 »

Aici puteţi discuta despre problema Cercuri.
Memorat
calinux
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 42



Vezi Profilul
« Răspunde #1 : Octombrie 24, 2005, 20:32:58 »

Am si eu o mica intrebare... In legatura cu valorile de test de pe site.

Sursa mea, care a luat 100 de puncte... la testul 5 5 5 6 6 6 afiseaza ca raspuns... 11.900... iar pe site scrie ca valoare... 7.714.

Pare un pic dubios...nu?  Think
Memorat

"And all that is now,
And all that is gone,
And all that's to come,
And everything under the sun is in tune
But the sun is eclipsed by the moon"
The Dark Side of The Moon - Pink Floyd
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #2 : Octombrie 24, 2005, 23:02:27 »

Citat din mesajul lui: calinux
Am si eu o mica intrebare... In legatura cu valorile de test de pe site.

Sursa mea, care a luat 100 de puncte... la testul 5 5 5 6 6 6 afiseaza ca raspuns... 11.900... iar pe site scrie ca valoare... 7.714.

Pare un pic dubios...nu?  Think


Intr-adevar dubios Shocked
S-a rezolvat bug-ul si s-a recorectat problema atat in Arhiva cat si la concurs.   Whistle
Memorat
dausyana
Strain
*

Karma: -10
Deconectat Deconectat

Mesaje: 43



Vezi Profilul
« Răspunde #3 : Octombrie 25, 2005, 15:49:40 »

Sad...yo nu inteleg dc imi ia 0 pb ...rezolvarea o presupun corecta...e cineva kre ii da bn si dupa concurs?...
Memorat

does anybody remember laughter?
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #4 : Octombrie 25, 2005, 16:33:59 »

Citeste http://astronomy.swin.edu.au/~pbourke/geometry/2circle/
Memorat
dausyana
Strain
*

Karma: -10
Deconectat Deconectat

Mesaje: 43



Vezi Profilul
« Răspunde #5 : Octombrie 25, 2005, 18:49:30 »

mc..dar am citit aia...daia ma mir dc nu imi emrge:(
Memorat

does anybody remember laughter?
spatarel
Strain
*

Karma: 31
Deconectat Deconectat

Mesaje: 37



Vezi Profilul WWW
« Răspunde #6 : Octombrie 26, 2005, 20:56:58 »

Dupa foarte multe submisii fara nici un rezultat, am modifcat sursa gresit (din punctul meu de vedere), ca sa constat cu stupoare ca evaluatorul imi considera programul corect.  Shocked

Asadar, iata modificarea, in conditia pentru cercuri tangente:

corect (dupa mine):
if ((R1+R2)*(R1+R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2) || (R1-R2)*(R1-R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))

corect dupa evaluator:
if (abs(R1+R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <=0.0001 || abs(R1-R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <= 0.0001 )

Daca ar fi dupa mine, as re-re-corecta problema  Dancing . In fine... voi ce parere aveti?  Think
Memorat

Atat am avut de spus
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #7 : Octombrie 26, 2005, 21:33:49 »

Citat din mesajul lui: spatarel
Dupa foarte multe submisii fara nici un rezultat, am modifcat sursa gresit (din punctul meu de vedere), ca sa constat cu stupoare ca evaluatorul imi considera programul corect.  Shocked

Asadar, iata modificarea, in conditia pentru cercuri tangente:

corect (dupa mine):
if ((R1+R2)*(R1+R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2) || (R1-R2)*(R1-R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))

corect dupa evaluator:
if (abs(R1+R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <=0.0001 || abs(R1-R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <= 0.0001 )

Daca ar fi dupa mine, as re-re-corecta problema  Dancing . In fine... voi ce parere aveti?  Think


Am pus linia corecta zisa de tine in locul la cea cu abs() in sursa ta si tot ia 100.. eu zic sa te uiti mai atent, fiindca greseai altceva inainte.  Tongue Deci, nu e cazul sa se recorecteze nimic  Shame on you
Memorat
spatarel
Strain
*

Karma: 31
Deconectat Deconectat

Mesaje: 37



Vezi Profilul WWW
:((
« Răspunde #8 : Octombrie 26, 2005, 21:47:45 »

Corect! Imi cer scuze! Am mai modificat ceva, dar parea inofensiv... De unde rezulta ca acolo s-a strecurat bug-ul Sad.

Sper sa nu te superi, dar o sa spun si ce am gresit, ca sa nu mai greseasca si altii  Tongue  - am pus conditia de cercuri fara puncte comune inaintea celei de cercuri tangente.

My Bad!  Brick wall
Memorat

Atat am avut de spus
dausyana
Strain
*

Karma: -10
Deconectat Deconectat

Mesaje: 43



Vezi Profilul
« Răspunde #9 : Octombrie 27, 2005, 16:09:04 »

spatarel:
1.corect (dupa mine):
if ((R1+R2)*(R1+R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2) || (R1-R2)*(R1-R2) == (X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))

2.corect dupa evaluator:
if (abs(R1+R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <=0.0001 || abs(R1-R2 - sqrt((X1-X2)*(X1-X2) + (Y1-Y2)*(Y1-Y2))) <= 0.0001 )


cele 2 chestii sunt echivalente...doar k  la 2.  avand in vedere k lucrezi cu var de tipul real-pascal sau double-C compararea a 2  variabile d tipul ala se face mai greu si de aceea mai usor se compara diferenta lor cu 0.0001 in cazul de fata...
Memorat

does anybody remember laughter?
cristi8
Vizitator
« Răspunde #10 : Octombrie 27, 2005, 17:12:47 »

nu ca se face mai greu, dar apar erori de precizie. de exemplu:

Cod:
  double a, b;
  a = 1/sqrt(2);
  b = sqrt(2)/2.0;
  printf("%lf  %lf   %d\n", a, b, (a==b));

afiseaza 2 valori egale, si 0. adica la o anumita zecimala (care nu e afisata) cele 2 numere difera. si nu sunt == (EGALE)
Memorat
MarcvsHdr
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 44



Vezi Profilul
« Răspunde #11 : Noiembrie 06, 2005, 10:10:32 »

Hmm... evaluatorul la problema asta pare sa aiba ceva ciudat. Probabil ca problema mea nu e corecta dpdv al preciziei de 3 zecimale. Dar mie imi dau rezultatele din test (7.zz4) si formulele matematice par foarte OK. Insa mi se pare cel putin bizar ca imi evalueaza un singur test.
De ce doar unul? Am trimis problema de mai multe ori, gandindu-ma la vreo posibila eroare a evaluatorului, dar acelasi rezultat.
Memorat
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #12 : Noiembrie 06, 2005, 13:39:19 »

Whistle Problema a fost data la Happy Coding II, si acolo una din reguli era ca problemele sunt evaluate folosind un singur test. Asa ca evaluatorul nu are nimic  Mr. Green din fericire...
Memorat
Tabara Mihai
Vizitator
« Răspunde #13 : Noiembrie 06, 2005, 20:48:03 »

si mie imi iese perfect fisierul de intrare dar nu stiu ce am gresit de iau 0 puncte.....ma mai gandesc
Memorat
Tabara Mihai
Vizitator
« Răspunde #14 : Noiembrie 08, 2005, 17:49:00 »

incepe sa ma dispere problema asta....nu-mi iese si gata.......cred ca am sa fac ce face avatarul asta Brick wall  Brick wall  Brick wall  Brick wall  Brick wall  Brick wall  Brick wall

acuma serios..nu-mi dau seama ce gresesc......partea matematica am facut-o perfect..(nu cred ca am gresit formulele)...iar conditiile le-am pus cum trebuie....si imi si iese testul din exemplu.....nu inteleg.

Intrebare:Nu mai puneti va rog un mic test din care poate as putea sesiza greseala in prg-lu meu???pls...
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #15 : Noiembrie 08, 2005, 18:05:54 »

Verifica partea matematica cu linkul care l-am pus mai sus si daca tot nu-ti iese rescrie sursa ca te ajuta uneori  Peace
Memorat
u-92
Vizitator
« Răspunde #16 : Noiembrie 08, 2005, 18:22:48 »

probabil gresesti la precizie, daca folosesti de mai multe ori sqrt().. cel putin asta greseam eu, cand am redus la o singura apelare a functiei sqrt() mi-a mers
Memorat
Tabara Mihai
Vizitator
« Răspunde #17 : Noiembrie 09, 2005, 19:18:29 »

linkul ii ok....am luat din el partea matematica...ba chiar mai mult....am gasit  inca un site:

mathworld.wolfram.com/Circle-CircleIntersection.html

si tot nu imi merge.....acuma incerc sa reusesc o singura apelare sqrt poate poate o sa-mi mearga....
Memorat
Tabara Mihai
Vizitator
« Răspunde #18 : Noiembrie 09, 2005, 19:40:47 »

nu pot sa scap de functia sqrt.... Brick wall  Brick wall  Brick wall  Brick wall  Brick wall  Brick wall  Brick wall  


la naiba cu el sqrt()......am incercat in toate modurile....

d = sqrt((x1 - x2) * (x1 - x2) + (o1 - o2) * (o1 - o2)); aici sunt obligat sa-l las....dar dincolo la conditie nu reusesc sa scap de el.... d'oh!
Memorat
nivan
Vizitator
« Răspunde #19 : Noiembrie 09, 2005, 19:48:48 »

Nu cred ca se referea sa scoti SQRT de peste tot...... ci sa nu folosesti la acelasi numar astfel incat sa se faca o aproximare gresit de la primul SQRT la al doilea.  (Da nu te lua dupa mine ca eu inca nu am facut problema......  )
Memorat
sarabogdan
Strain
*

Karma: 4
Deconectat Deconectat

Mesaje: 40



Vezi Profilul
« Răspunde #20 : Noiembrie 09, 2005, 20:05:47 »

Cod:

7.713 (7,7136)
7.713 (7,7136)
18.708
-1
-2


Mie atata imi da pe exemplu ...

Din enunt nu reiese ca ar trebui aproximat ; voua cat va da cu 4 zecimale la primele 2 perechi de cercuri ? Flex
Memorat
Tabara Mihai
Vizitator
« Răspunde #21 : Noiembrie 09, 2005, 20:11:39 »

7.7136
7.7136
18.7083
-1
-2

imi afiseaza si mie tot atata...dar daca in exemplu arata 3 zecimale probabila ca atata trebuie...daca erau zerouri poate ca trebuie sa afisam cu 4 dar 7.713 are a 4-a zecimala 6...deci trebuie afisat cu 3 zecimale....eu asa am inteles
« Ultima modificare: Aprilie 17, 2006, 10:28:09 de către Tabara Mihai » Memorat
sarabogdan
Strain
*

Karma: 4
Deconectat Deconectat

Mesaje: 40



Vezi Profilul
« Răspunde #22 : Noiembrie 09, 2005, 20:33:44 »

Cod:

imi afiseaza si mie tot atata...dar daca in exemplu arata 3 zecimale probabila ca atata trebuie...daca erau zerouri poate ca trebuie sa afisam cu 4 dar 7.713 are a 4-a zecimala 6...deci trebuie afisat cu 3 zecimale....io asa am inteles,,,,


Tu ai citit ce-am scris ? Raised eyebrow
Memorat
Tabara Mihai
Vizitator
« Răspunde #23 : Noiembrie 09, 2005, 20:38:24 »

poate ca am o exprimare putin mai greoaie..dar ma cam grabeam cand am scris.....my point is ca si mie imi afiseaza cu 4 zecimale exact ca si tie...punct!
Memorat
popoiu.george
Vorbaret
****

Karma: 19
Deconectat Deconectat

Mesaje: 162



Vezi Profilul
« Răspunde #24 : Februarie 04, 2011, 19:50:27 »

Imi explicati si mie va rog de unde vine P2 = P0 + a(P1-P0)/d ?

Formula e in linkul asta http://astronomy.swin.edu.au/~pbourke/geometry/2circle/
Memorat
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

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