magone Posted August 27, 2008 Report Posted August 27, 2008 Ir futbola tirnīrs ar spēļu rezultātiem. Vajag skriptu, kas komandai piešķir attiecīgo vietu. Viss ir vienkārši, kad atšķiras punktu skaits. Sakaārtoju masīvu un viss, bet, pie vienāda punktu skaita jāskatās savstarpējo spēļu rezultāti un attiecīgi jāsarindo komandas. Netieku ar to galā, it sevišķi, ja vienāds punktu skaits ir vairāk par divām komandām. Varbūt kāds zin kādu gatavu skriptu turnīru tabulām vai algoritmu nestandarta kārtošanai vai kādas saites webā par to.
Aleksejs Posted August 27, 2008 Report Posted August 27, 2008 Kas notiek gadījumā, ja komandām A, B un C ir vienāds punktu skaits un A ir zaudējusi B, kas ir zaudējusi C, kas ir zaudējusi A (ar vienādu vārtu skaitu)?
magone Posted August 27, 2008 Author Report Posted August 27, 2008 Kas notiek gadījumā, ja komandām A, B un C ir vienāds punktu skaits un A ir zaudējusi B, kas ir zaudējusi C, kas ir zaudējusi A (ar vienādu vārtu skaitu)? Tad skatās visu kopējo turnīrā iegūto vārtu starpību.
Aleksejs Posted August 27, 2008 Report Posted August 27, 2008 Nu tātad cik saprotu sākotnēji uzdevumu sadalam šādos apakšuzdevumos: 1) atrast katras komandas punktu skaitu 2) atrast katras komandas novietojumu starp vienādo rezultātu ieguvušajām komandām pēc savstarpējo spēļu iznākuma 3) atrast katras komandas novietojumu starp vienādo rezultātu ieguvušajām komandām pēc iesisto/ielaisto vārtu statistikas šķirot rezultātu vispirms pēc 1), tad 2), tad 3) Lai uzrakstītu pieprasījumu, vajadzētu zināt tabulu struktūras.
Val Posted September 12, 2008 Report Posted September 12, 2008 (edited) Radušās problēmas ar čempionāta tabulas sakārtošanu pēc dažiem nosacījumiem. sakartošanas secība: 0) punktu skaits - punkti (ok) 1) savstarpējo spēļu rezultātiem - vairāk punktu, 2) labākās vārtu starpības savstarpējās spēlēs, 3) lielākā gūto vārtu skaita savstarpējās spēlēs, 4) labākās vārtu starpības visās spēlēs - bilance (ok) 5) mazākās visu spēlētāju soda laiku summas. (ok) Pieņemsim, ka šis ir sākotnējais sql: "... ORDER BY punkti DESC, bilance DESC" Ar 0) un 4) viss vienkārši. Biku čakarē viss pārējais - nav iespējams visu salikt vienā sql pieprasījumā (mysql btw). Izdomāju citu veidu: Ieselektēju katras komandas visu spēlētāju soda minūšu summas, sametu masīvā: $komandu_sodi[$komandas_id] = $sodu_summa; Sakārtoju pēc mazākās summas. Izveidoju kārtošanas secību komandu soda minūtēm - $order_sodi = implode(',', array_keys($komandu_sodi)); Ielieku iekš sql pieprasījuma: "... ORDER BY punkti DESC, bilance DESC, find_in_set(komandas.id, '$order_sodi') ASC" Lab, tik tālu viss easy. Ņemam nākamo nosacījumu: doma arī visu samest kkādā masīvā. Pagaidām tā: masivs[majnieku komandas id][viesu komandas id] = visu savstarpeejo guuto punktu starpība Nekas nenāk prātā, kā to visu pēctam izmantot, lai dabūtu iekš sql :) Ir kāda doma? Edited September 12, 2008 by Val
Recommended Posts