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
Stránky: 1
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.
Offline

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
Stránky: 1