| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
| Napísal fista1: 08.11.2012 23:31 | |
|
Máme v škole takúto úlohu:
Napíšte program na presun prvkov jednorozmerného poľa (vygenerovaného
náhodne s hodnotami od -50 do 50) tak, aby na začiatku boli záporné, potom nulové
a nakoniec kladné čísla. Zabezpečte riešenie jediným prechodom poľa.
Upresnenie zadania: netreba zoraďovať čísla od najmenšieho po najväčšie, stačí, keď najprv budú v poli uložené záporné čísla, potom nuly a nakoniec kladné čísla.
Skúšal som metódu Bubble-sort, tá mi však fungovala len ak som si vytvoril druhé pole, doňho nakopíroval hodnoty prvého a tam som ich zoradil. Fungovalo to aj v jednom cykle spoločne s inicializovaním prvého poľa. Problém je, že nemôžme použiť dve polia, ale iba jedno. Čiže v jednom cykle inicializovať jedno pole a hneď aj usporiadať čísla v ňom. Vie niekto pomôcť?
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 09.11.2012 0:29 | |
|
Rozdeliť čísla na záporné a kladné nie je ťažké. Máš dva indexy - ľavý(0) a pravý(N). Ľavý zvyšuješ a ak narazíš na kladné číslo, začneš hýbať pravým(znižovať). Ak ním narazíš na záporné, prehodíš prvky na týchto indexoch a pokračuješ takto ďalej, kým sa nestretnú.
Ako dostať týmto spôsobom do prostriedku nuly, ma ale teraz nenapadá.
Skús rozmýšľať týmto smerom a snáď na niečo prídeš.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
| Napísal autor témy fista1: 09.11.2012 8:54 | |
|
Díky moc, funguje to. Dám sem aj kód, až by ho niekto potreboval:
Kód: public class JavaCvicenie { public static void main(String[] args) { final int n = 100;//velkost pola int pole[] = new int[n]; int begin = 0, end = n-1, temp; //naplnenie pola for (int i = 0; i < n; i++){ temp = (int) (-50 + Math.random() * 100); System.out.print(temp + " "); if (temp < 0){ pole[begin] = temp; begin++; } if (temp > 0){ pole[end] = temp; end--; } } System.out.println();//odriadkovanie //vypis pola for (int i = 0; i < n; i++) System.out.print(pole[i] + " "); } }
@BX: Nuly sa vždy nejako uspodiarajú samé
|
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Nespravne zoradenie podla cisel v Databázy | 7 | 785 | 30.09.2010 20:29 camo | | Zoradenie cisel v tabulke v PHP, ASP | 4 | 661 | 05.08.2009 17:38 rooobertek | | Pascal - Zoradenie 5 čísel podľa veľksti v Assembler, C, C++, Pascal, Java | 8 | 1865 | 12.03.2010 21:48 juho | | Java - súčin čisel v Assembler, C, C++, Pascal, Java | 3 | 590 | 08.10.2014 20:31 Lessik | | Java maximum z 3 cisel v Assembler, C, C++, Pascal, Java | 1 | 469 | 18.02.2012 22:01 coldak | | Rozdiel medzi Java Standard a Java EE v Assembler, C, C++, Pascal, Java | 1 | 844 | 02.04.2014 12:41 XOLOO | | dobre java navody a nova tema JAVA [ Choď na stránku: 1, 2 ] v Assembler, C, C++, Pascal, Java | 35 | 5441 | 09.03.2009 17:14 tlacitko Enter | | Generovanie cisel v PHP, ASP | 5 | 921 | 06.02.2010 17:44 Ďuri | | zoradenie ? v PHP, ASP | 22 | 1499 | 21.08.2008 16:54 p360t | | Z cisel text? v PHP, ASP | 3 | 426 | 21.03.2010 10:27 Ďuri | | Generátor pseudonáhodných čísel v Assembler, C, C++, Pascal, Java | 11 | 1046 | 14.10.2007 19:35 Integer | | JAVA - java.lang.NullPointerException v Assembler, C, C++, Pascal, Java | 1 | 1084 | 04.01.2010 17:05 emigrate | | 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 | 481 | 04.06.2010 10:42 camo | | SW generator nahodnych cisel v Ostatné programy | 0 | 1193 | 16.02.2009 10:28 markog |
| 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
|
|