| | |
| Stránka: 1 z 1
| [ Príspevkov: 4 ] | |
Autor | Správa |
---|
Registrovaný: 10.09.08 Prihlásený: 19.04.22 Príspevky: 126 Témy: 22 Bydlisko: Bratislava |
Zdravím. Potreboval by som pomôcť.
Na formulári mám jeden StringGrid (3sx11r) a potreboval by som zoradiť riadky podľa hodnoty v jednom stĺpci. To by nebol až taký problém pretože sa to dá spraviť jednoducho cez StringList.Short, ide ale o to že sú to čísla a ono ich zoraďuje "abecedne" a ja potrebujem aby ich zoraďovalo podľa veľkosti...
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 10.05.2009 13:38 | |
|
Ja by som to spravil takto:
Všetky čísla si uložiš do poľa. Potom pole zotriediš a takto zotriedené hodnoty od najväčšieho zapíšeš do StringGird.
|
|
Registrovaný: 10.09.08 Prihlásený: 19.04.22 Príspevky: 126 Témy: 22 Bydlisko: Bratislava | Napísal autor témy mariachi: 10.05.2009 19:09 | |
|
Lenže to mi zoradí iba čísla, ale mená hráčov ostanú nezoradené.....
Skúsil som to dvojrozmerným poľom, avšak kvôli menám hráčov to musí byť pole stringov, takže keď chcem zoradiť musím používať konverziu typov. Program mi to v pohode skompiluje, ale keď to chcem spustiť tak vypíše chybu. Procedúra vypadá asi takto:
Citácia: procedure TTop10.Zorad; var i,j,pom: integer; opakovat: boolean; pole: array [2..10,1..10] of string; begin for i := 1 to 2 do for j:= 1 to 10 do pole[i,j] := Najlepsi.Cells[i,j];
repeat opakovat := FALSE ; for i := 1 to 10 do if strtoint(pole[2,i]) > strtoint(pole[2,i+1]) then begin opakovat := TRUE; pom := strtoint(pole[2,i+1]); pole[2,i+1] := pole[2,i]; pole[2,i] := inttostr(pom); end; until(opakovat = FALSE);
for j := 1 to 10 do for i:= 1 to 2 do StringGrid1.Cells[i,j] := pole[i,j]; end;
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 10.05.2009 19:38 | |
|
No myslím, že to ide aj trošku ľahšie. Skús si prerobiť svoj program takto:
Zadefinuj si record, kde budú mená hráčov a ich skóre:
Kód: type TTabulka = record poradie: integer; meno: string[100]; end; a deklaruj pole recordov: Kód: var Tabulka: array[1..10] of TTabulka;
Potom, ako som vyššie popísal, zotriediš prvky v poli Tabulka (pričom pristupuješ k poradiu, teda takto: Tabulka[i].poradie). A po zotriedení budeš mať zotriedené aj mená.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 4 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| porovnavanie udajov a editacia udajov v PHP, ASP | 10 | 1333 | 07.03.2008 20:45 Blackdevil | | zoradenie ? v PHP, ASP | 22 | 1499 | 21.08.2008 16:54 p360t | | Zoradenie výpisu v PHP, ASP | 3 | 455 | 23.11.2011 23:32 walther | | zoradenie hodnot v Databázy | 2 | 829 | 11.08.2008 19:40 Speeder21 | | zoradenie array v PHP, ASP | 6 | 482 | 04.06.2010 10:42 camo | | Zoradenie cisel Java v Assembler, C, C++, Pascal, Java | 2 | 1666 | 09.11.2012 8:54 fista1 | | Zoradenie podla datumu v PHP, ASP | 29 | 1228 | 24.11.2007 18:19 Flety | | Zoradenie asociativneho pola v PHP, ASP | 3 | 633 | 14.04.2010 12:04 stenley | | zoradenie priecinkov - W10 v Operačné systémy Microsoft | 4 | 523 | 18.01.2017 20:35 Miso122 | | zoradenie podla abecedy v PHP, ASP | 12 | 1462 | 25.08.2008 22:17 tomxi | | zoradenie prvkov databazy v PHP, ASP | 1 | 854 | 05.11.2007 16:04 GoodWill | | zoradenie podla abecedy v Databázy | 5 | 1507 | 06.09.2008 18:38 rooobertek | | zoradenie podla oblubenosi v Databázy | 4 | 682 | 16.06.2009 23:06 Snacker | | zoradenie podla icq v Redakčné systémy | 5 | 508 | 30.03.2007 7:17 altt | | Zoradenie podla abecedy v Databázy | 2 | 547 | 19.01.2012 16:41 zaciatocnik | | zoradenie podla nazvu v Databázy | 2 | 370 | 18.02.2013 20:51 neopagan |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|