Dobrý den může mi někdo prosím vás poradit ? s tím to úkolem ? :) vůbec si nevím rady
Vytvořte diagram algoritmu, který posloupnost (pole) o N prvcích upraví tak, že největší číslo z této posloupnosti umístí na poslední pozici.
Všechna čísla v posloupnosti musí být zachována!
Pole nechte naplnit v cyklu.
Fórum › Funkcionální programování
Vývojový diagram
Pole naplňuješ v cyklu, předpokládám, že uživatelem. Ten zadává nějaká číslice. Tzn. udělej si proměnnou, která bude obsahovat to právě největší číslo. Když uživatel zadá vyšší, bude ta proměnná právě toto. Po skončení načtení čísel, budeš mít pole.
Teď nevím jak je přesné zadání buď:
A) podle celkového počtu prvků v poli, přidej za poslední prvek právě to číslo. (ale pak ho budeš mít i jinde)
B) udělej opět cyklus, kde od daného čísla resp. jeho indexu (zachovej si i jeho index), budeš posouvat všechny následující prvky o n-1 a na poslední přidáš právě onen prvek.
Snad je to srozumitelné :)
To nemám. Před pár lety jsme tyhle diagramy různých algoritmů dělali, tak jsem to jen sypal z hlavy. Můžeš to ale vyfotit (PrtSc) a kdyžtak to jako obrázek dát sem.
Připomíná mi to jeden průchod pro BubbleSort. Nejprve do toho pole mají uložit náhodná data (v cyklu) - prostě to pole nějak náhodně inicializovat. A potom projít celé pole a nechat "probublat" nejvyšší hodnotu až na konec pole, tj. (pro úplnost) projít v cyklu celé pole od 1. prvku do N-1 a pro každý prvek udělat porovnání se sousedem. Pokud má soused nižší hodnotu, tak provést prohození prvků pole.
To wise : Nechtěl jsem nikterak znevažovat tebou navržené řešení, jenom jsem to zadání pochopil trochu jinak.
A BS to opravdu setřídí od nejmenšího do největšího. Pro pole velikosti N v N průchodech. A jak jsem psal, mě to připadá jako jeden (první) průchod z N, kdy probublá nejvyšší číslo na konec.
To Filip : Nevím, jestli se v diagramech pracuje s polem jinak, než např. v programovacích jazycích, pokud ale ne, tak jsou tam chyby. Např. co znamená POLE < POLE?
Zadáš 5 čísel. Máš proměnnou NEJ. Ta uchovává to největší číslo. Když čísla zadáváš, tak: 1. číslo -> 1 (je první, jediné, tak je největší), 2. číslo -> 5 (teď je prom NEJ 5), 3. číslo -> 3 (stále NEJ = 5), 4. číslo -> 10 (NEJ = 10), 5. číslo -> 7 ( NEJ = 10)
Bylo by dobré si taky uchovat index. Tzn. další proměnná třeba INDEX. Tenhle značí, jakej index má prvek s hodnotou 10. V našem případě to bude index 3 (= 4. číslo). Takže máš už nej číslo. To je 10 a má index 3. No a pak následuje cyklus na přesunutí prvku s nej hodnotou (index 3) na konec.
=>
Začneš přesouvat.
1. číslo -> 1 (nic neděláš)
2. číslo -> 5 (nic neděláš)
3. číslo -> 3 (nic se neděje)
4. číslo -> 10 -> to je nej, takže ho potřebuješ na konec. Proto přejdeš na další prvek a jeho hodnotu přiřadít tomuto indexu předešlému. Tzn. trochu česky :) 4. číslo je N index. Přejdeš na N + 1 prvek a hodnotu N+1 "předáš" prvku s indexem N. Jedeš dál a zjistíš, že jsi na konec. Tak tam vložíš prvek NEJ s indexem INDEX.
Takhle bych to nějak udělal já, nevím, jak je to možno realizovatelné v diagramu. Každopádně zápis POLE<POLE mi přijde zvláštní :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Vývojový diagram — založil ondrašek
Vývojový diagram — založil tomis2
Vývojový diagram — založil Kotysek
Vývojový diagram — založil Daidalos
Vývojový diagram — založil Beči