Kezdőoldal » Számítástechnika » Programozás » Ezt a java függvényt hogy...

Ezt a java függvényt hogy kellene úgy módosítani, hogy CSAK a sorokat kavarja össze?

Figyelt kérdés

Tehát hogy csak a sorokat keverje össze egymás között, mintha az összes oszlop "egyben" mozogna a sorával.

Ez a jelenlegi mindent összekever mindennel... :S



You can use Fisher–Yates algorithm modified for two-dimensional arrays:


void shuffle(int[][] a) {

Random random = new Random();


for (int i = a.length - 1; i > 0; i--) {

for (int j = a[i].length - 1; j > 0; j--) {

int m = random.nextInt(i + 1);

int n = random.nextInt(j + 1);


int temp = a[i][j];

a[i][j] = a[m][n];

a[m][n] = temp;

}

}

}


2015. márc. 22. 19:37
 1/4 Tengor ***** válasza:
Fogj két véletlen számot, egyik jelölje a forrást, másik a célt, aztán egy ciklussal cseréld meg a forrás és célnak megfelelő elemeket.
2015. márc. 22. 19:43
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

Elég ismeretlen még számomra az algoritmizálás világa, most tanulom.


Találtam a neten egy ilyen megoldást, ami majdnem jó a problémára, de módosítani kell, ami még nekem egyenlőre nem megy úgy, hogy jó megoldás szülessen.

Ezért kértem segítséget, mert aki ért hozzá, annak ez a pár módosítás ránézésre megvan...

Nem a nulláról kértem, hogy írja meg valaki, hanem csak módosítani kellene ezt a mostani majdnem jó megoldást...


Köszi :)

2015. márc. 22. 21:46
 3/4 anonim ***** válasza:

Feltételezem az indexelés ilyen: a[sor][oszlop]. Nem kell két ciklus elég egy is.


Random random = new Random();


for (int i = a.length - 1; i > 0; i--) {

int m = random.nextInt(i + 1);


int[] temp = a[i];

a[i] = a[m];

a[m] = temp;

}

2015. márc. 22. 23:58
Hasznos számodra ez a válasz?
 4/4 Tengor ***** válasza:

Mi a célod? Ha az algoritmizálás eltanulása, akkor nem biztos, hogy az a jó, ha ilyen egyszerű algoritmust úgy oldasz meg, hogy töltesz netről valami hasonlót és elkezdet foltozgatni.

Bonyolult API-s cuccnál oké, de amikor két for ciklusról van szó, és tanulna az ember, akkor jobb, ha magától írja 0-ról.

2015. márc. 23. 07:12
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!