Poradie v tabulke
Poradie v tabulke
zdravim,
mam danu tabulku hracov a zapasy medzi nimi. Z toho viem vypocitat skore a body a teraz potrebujem urcit celkove poradia aby sa zapocitali vsetky alternativy ked maju dvaja alebo viac hracov rovnaky pocet bodov aby urcilo celkove poradie a podobne. Nedari sa mi takyto algoritmus najst na internete a urcite dufam uz niekde bude tak ak mi poradite nejaky ten link tak vam budem vdacny
thx
mam danu tabulku hracov a zapasy medzi nimi. Z toho viem vypocitat skore a body a teraz potrebujem urcit celkove poradia aby sa zapocitali vsetky alternativy ked maju dvaja alebo viac hracov rovnaky pocet bodov aby urcilo celkove poradie a podobne. Nedari sa mi takyto algoritmus najst na internete a urcite dufam uz niekde bude tak ak mi poradite nejaky ten link tak vam budem vdacny
thx
-
refr0
Star
- Príspevky: 521
- Registrovaný: 26 nov 2005, 10:55
- Bydlisko: Trenčín
- Kontaktovať používateľa:
Re: Poradie v tabulke
aky algoritmus
? len proste zoradis od najviac bodov po najmenej a mas po probleme to ked uz ma niekto rovnaky pocet bodov ty nijako nezmenis pokial tam nepriadas dalsiu premennu...
Re: Poradie v tabulke
keby to bolo take lahke tak tu nepisem. ked tomu nerozumies tak tu radsej neprispievaj. Ked ma viac hracov rovnaky pocet bodov tak ich treba dat do samostanej tabulky cize treba pouzit rekurziu az pokym v tej samostatnej tabulke nemaju vsetci rovnaky pocet bodov a az potom to zoradovat podla inych kriterii
Re: Poradie v tabulke
no on sa tomu rozumie lenze ty si nedal ze co to je v akom jazyku to je ake technologie chces pouzit a proste ze co vlastne myslis.. takze az tieto informacie nedoplnis tak ta bude skoro kazdy ignorovat a jediny kto ti odpovedal tak toho si takto urazil ..pch..
Re: Poradie v tabulke
robim to v jave ale staci mi hocijaky nacrt kodu aj v inom jazyku. a co tu mam nacrtnut ? nevies ako sa urcuje poradie v tabulke ved je to vsade a myslel som ze to ludia poznaju
-
mirak2
Hardcore addict
- Príspevky: 6719
- Registrovaný: 18 sep 2005, 13:44
- Bydlisko: Prague, CZE / Kosice, SVK
Re: Poradie v tabulke
budes mat iba velmi kosatu podmienku if-else...robil som to v projekte v zime, akurat aplikovane na hokej
aby som vysvetlil: zoraduje pekne podla bodov (goly+asistencie), ak ale maju dvaja rovnaky pocet bodov tak sa ide pozriet kto dal viac golov, a podla toho rozhodne ktory pojde skor v tabulke, ak maju rovnaky pocet golov, tak sa ide pozriet na pocet odohranych zapasov, kto ma menej je lepsi..ak ani tak nevie rozhodnut moze to zoradit podla abecedy podla hraca alebo co ja viem podla coho...
ty to budes mat podobne...zoradovat podla bodov, potom v pripade rovnosti prejdes na dalsie veci..akurat ta musim upozornit ze nieco take ako usporiadavanie na zaklade vzajomnych zapasov je trochu tazsie a ja sam som to aplikovat ani nemohol (nebol na to vhodny objektovy navrh)
Kód: Vybrať všetko
//komparator na zoradovanie hracov
public class HracByStats implements Comparator<Hrac> {
Liga liga;
public HracByStats(Liga liga){
this.liga = liga;
}
public int compare(Hrac hrac1, Hrac hrac2) {
if (hrac1.getGoly()+hrac1.getAsist()>hrac2.getGoly()+hrac2.getAsist()){
return 1;
} else if(hrac1.getGoly()+hrac1.getAsist()==hrac2.getGoly()+hrac2.getAsist()){
if(hrac1.getGoly()>hrac2.getGoly()) {
return 1;
} else if(hrac1.getOdohratychZapasov()<hrac2.getOdohratychZapasov()) {
return 1;
} else return -1;
} else return -1;
}
}ty to budes mat podobne...zoradovat podla bodov, potom v pripade rovnosti prejdes na dalsie veci..akurat ta musim upozornit ze nieco take ako usporiadavanie na zaklade vzajomnych zapasov je trochu tazsie a ja sam som to aplikovat ani nemohol (nebol na to vhodny objektovy navrh)
Re: Poradie v tabulke
njn thx toto je ta lahsia cast ale zide sa to. Ja musim aj vyriesit ked ma viac hracov rovnaky pocet bodov aby ich zoradilo spravne
Re: Poradie v tabulke
no alebo druha moznost je spravit tiredu ktora implementuje comparable a pretazis metodu compareto kde budes mat tie podmienky ze ak sa rovnaju tie body tak porovnaj ine zaznamy a z toho vrat hodnotu a implementujes to ako sortedset ci take nieco sortedlist to bolo uz si nepamatam presne a potom len v guicku si to prehodis ako toarray vytvoris defaulttablemodel a tej tabulke priradis stlpce a nalinkujes udaje a uz len to tej povodnej tabulke posles cez setModel
-
mirak2
Hardcore addict
- Príspevky: 6719
- Registrovaný: 18 sep 2005, 13:44
- Bydlisko: Prague, CZE / Kosice, SVK
Re: Poradie v tabulke
no toto zoraduje aj takych co maju rovnaky pocet bodov podla dalsich pravidiel 
Re: Poradie v tabulke
ale ked ma viac hracov rovnaky pocet bodov tak sa neporovnavaju podla dalsich kriterii ale musia sa dat do osobitnej tabulke a tam zasa spocitat body. Porovnat podla dalsich kriterii sa moze az ked maju vsetci v tej podtabulke rovnaky pocet bodov
Re: Poradie v tabulke
onotie rozhrania javovske sluzia nato aby sa to hned zaradilo ked tam ten udaj pridas ale neviem o akych tabulkach sa tu pise ci pouzivas databazu ci co...vysvetli co myslis toymi tabulkami
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: Poradie v tabulke
a neslo by to to tak, ze by zacal ako to spravil Mirak a potom by zotriedenu kolekciu raz presiel pri com by kontroloval ci hrac na pozicii i ma rovnaky pocet bodov ako hrac na pozicii i+1, ak ano obaja by sa prekopirovali do inej kolekcie, tabulky alebo coho. ta druha kolekcia by vyerala nejako takto Kolekcia<HraciPodlaBodov<Hrac>>, bola bz to vlastne kolekcia kolekcii ( aby boli hraci, ktory maju rozne body oddeleni) a potom by si vytovril comparatory, ktore by vedeli triedit podla nim zadanych kriterii. samotne triedenie by bolo spustene tak, ze zavola Kolekcia.sort, v ktorej bude vo foreach HraciPodlaBodov.sort
Re: Poradie v tabulke
pouzivam jednoduche dvojrozmerne pole
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: Poradie v tabulke
a to Ti ako funguje? ako ich tam mas vobec usporiadanych? a co ked budes mat viac hracov ako je kapacita pola? budes prerabat cely program?
Re: Poradie v tabulke
no na zaciatku zadam kolko bude hracov a podla toho vytvorim pole. preco by to nemalo fungovat
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: Poradie v tabulke
nevravim, ze to priamo nefunguje, ale keby si chcel mat napr. 30 hracov tak ake bude to pole? 3x10? 5x6? ako tam mas tych hracov usporiadanych? ak su usporiadani normalne sekvencne, ze hrac [0,0] je prvy a hrac [m,n] posledny tak to dvojrozmerne pole absolutne straca zmysel (lebo je to len prezleceny linearny zoznam). a dajme tomu, ze uz mas to pole na 30 hracov a chces este 5 dodat. co urobis? pustis program zovnu aby si si alokoval ine pole?
Re: Poradie v tabulke
taka situacia nenastane ze mam 30 hracov a chcem pridat dalsich 5 neviem ci si bol niekedy na nejakom turnaji ale na zaciatku byva registracia kde sa registruju vsetci hraci potom ked skonci sa urci hraci system takze napriklad ked pride 76 hracov rozdelia sa do 4 skupin a v kazdej bude 19 hracov takze budem mat 4 dvojrozmerne pole kde v kazdej skupine odohraju hraci zapasy kazdy s kazdym a potom ho naplnim vysledkami tak ze v hrac[m][n]="5:3" kde m n je cislo hraca