Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 08. 12. 2013 16:09

Murrzik
Zelenáč
Příspěvky: 12
Reputace:   
 

Java - serazeni prvku trojrozmerne matice

Pouzijte metodu SetridMatici, která seřadí prvky trojrozmerne matice tak, že na pozici [0, 0, 0] bude nejmenší číslo a na [9, 9, 9] největší.

Pri nacteni matice zustava neserazena. Co delam spatne?
Dekuji za pomoc.

//forum.matweb.cz/upload3/img/2013-12/15280_Matice.png

Offline

  • (téma jako vyřešené označil(a) Murrzik)

#2 15. 12. 2013 10:21

vojta_vorel
Příspěvky: 70
Škola: MFF UK
Pozice: student
Reputace:   
 

Re: Java - serazeni prvku trojrozmerne matice

Ahoj
Mám pocit, že problémů je tady víc:
- Zadání je dost nejednoznačné. Co to znamená "setříděná matice"? Zkus se nad tím zamyslet a uvidět, že vlastně vůbec nevíme, co se po nás chce. Nebo máš k dispozici ještě nějaké podrobnější zadání? Jak poznáš, že "zůstává neseřazená"?
- Jedinou jasnou podmínku v zadání (že na pozici [0, 0, 0] bude nejmenší číslo a na [9, 9, 9] největší) tvůj algoritmus určitě nesplňuje. Například, když největší prvek je původně na pozici [1,2,0], sice ho to někam posune, ale vždycky o jedničku do všech směrů najednou (z [i][j][k] na [i+1][j+1][k+1]), nedostane se jinam než na pozice [2,3,1],[3,4,2],[4,5,3] apod, takže se nedostane ani na pozici [9,9,9].
- Ať už se má chápat "setříděná matice" jakkoliv, myslím, že tvůj algoritmus je moc jednoduchý, dělá podezřele málo operací (jen cca jedno porovnání na každý prvek matice). Zkus si zhruba rozmyslet, co vlastně dělá, co s čím prohazuje a kdy. Kam posouvá velké prvky a jestli má šanci posunout je daleko.

Vojta

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson