algoritmus

Programovacie jazyky, rady, poradňa...
Vlado6230
Star
Star
Používateľov profilový obrázok
Príspevky: 515
Registrovaný: 03 mar 2007, 21:11
Bydlisko: Banská Bystrica !!!!

algoritmus

Príspevok od používateľa Vlado6230 »

PLS poradte mi ako mam vyriesit toto: Pre danú konečnú postupnosť riešte algoritmicky presun jej minima na koniec. pls musim to mat a neviem ani zatat z toho ak niekto vie poradte
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

najprv si vezmeš ako minimum prvý prvok ( a[1] ), a zapamätáš si jeho index. Potom prejdeš všetkými prvkami od druhého až po posledný a porovnávaš s minimálnym. Ak si našiel menší, zapamätáš si ako minimálny tento nový, inak ideš na ďalší prvok:
for i:=2 to n do if a<a[min] then min:=i

nakoniec posunieš všetky prvky od a[min+1] až po a[n] o jedna dolava, a do a[n] dáš a[min]

(zjednodušene povedané, programovo to budeš riešiť trošku inač, lebo po poslednom presúvaní už bude v a[min] niečo iné, preto si tú hodnotu musíš dať do nejakej pomocnej)
Vlado6230
Star
Star
Používateľov profilový obrázok
Príspevky: 515
Registrovaný: 03 mar 2007, 21:11
Bydlisko: Banská Bystrica !!!!

Príspevok od používateľa Vlado6230 »

audiotrack napísal:najprv si vezmeš ako minimum prvý prvok ( a[1] ), a zapamätáš si jeho index. Potom prejdeš všetkými prvkami od druhého až po posledný a porovnávaš s minimálnym. Ak si našiel menší, zapamätáš si ako minimálny tento nový, inak ideš na ďalší prvok:
for i:=2 to n do if a<a[min] then min:=i

nakoniec posunieš všetky prvky od a[min+1] až po a[n] o jedna dolava, a do a[n] dáš a[min]

(zjednodušene povedané, programovo to budeš riešiť trošku inač, lebo po poslednom presúvaní už bude v a[min] niečo iné, preto si tú hodnotu musíš dať do nejakej pomocnej)
:shock: fuu ako neviem ale ja tomu nechapem :( neviem ako si zvolim prvok ako postupujem ako zapisajuma v com to robim. hmm :? sry ale ja som s toho mimo ako cela moja trieda.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

v akom jazyku to máš mať? ja som používal syntax pascalu aby som ti to objasnil, aj tak to asi nepomohlo :)

no proste máš 10 čísel v poli (a[1] až a[10]). Ty máš najmenšie číslo presunúť na koniec, takže na začiatku si najmenšie zvolíš to číslo čo je v a[1]. Do premennej min si uložíš jednotku, lebo najmenšie (zatial najmenšie) sa nachádza v prvom prvku pola. Potom prejdeš celým polom (for I:=2 to 10). Stačí prechádzať od druhého prvku, lebo prvý nemusím porovnávať keď som ho zvolil za minimálny. Pri každom prvku sa pozrem či je menší ako ten môj (či je a menšie ako a[min] //v min mame stale tu jednotku). Ak áno, tak si do min uložím i (teda index aktuálneho prvku). Po prejdení takýmto cyklom mám teraz v min index najnižšieho prvku. Dajme tomu že je to 5, tak a[5] má najnižšiu hodnotu. Nakoniec si a[min] (teda teraz naše a[5] uložím do pomocnej premennej, napríklad pom:=a[min]) a všetky prvky od min+1 až po posledný posuniem. Čiže šiesty prvok príde na pozíciu piateho, siedmy na pozíciu šiesteho, ôsmy na pozíciu siedmeho.... a na konci pola mi ostane volné miesto, kde priradím hodnotu z pom (a[10] := pom). neviem ako ti to lepšie objasniť, asi fakt len keby hodím hotový program, ale to by som ti asi spravil celú úlohu, a to nechcem. Chcem ťa iba nasmerovať aby si si to spravil sám. Navyše ani stále neviem v akom jazyku to máš programovať (ak to vôbec máš programovať, lebo píšeš iba o algoritme)
Vlado6230
Star
Star
Používateľov profilový obrázok
Príspevky: 515
Registrovaný: 03 mar 2007, 21:11
Bydlisko: Banská Bystrica !!!!

Príspevok od používateľa Vlado6230 »

fu teraz tomu lepsie chapem aspon podstatu ako o co tam ide. ale nam nic nevraveli ze to mame programovat. Iba mam riesit tu postupnost presunu na koniec. A neviem ani, to sa robi aj v dakom programe?? a ako ukladam tie cisla? to mmi dako pocita? ako mozno si myslis ze som uplny idiot :D ale neviem som z toho mimo ako to mam robit a v com.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

slovný algoritmus som ti už napísal (v dvoch verziách - kratšia, a pre debila :D ) takže to iba zformuluj, daj tomu slovenskú gramatiku a koniec. Ak to nepotrebuješ programovať. Ale bolo by dobre keby si tomu porozumel a opísal ho možno vlastnými slovami
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

myslim ze nikde sa nespominalo ze by sa malo zachovat poradie ostatnych prvkov .. takze ked uz najdes najmensi prvok tak ho mozes jednoducho vymenit s poslednym a nemusis presuvat vsetko
Vlado6230
Star
Star
Používateľov profilový obrázok
Príspevky: 515
Registrovaný: 03 mar 2007, 21:11
Bydlisko: Banská Bystrica !!!!

Príspevok od používateľa Vlado6230 »

audiotrack napísal:slovný algoritmus som ti už napísal (v dvoch verziách - kratšia, a pre debila :D ) takže to iba zformuluj, daj tomu slovenskú gramatiku a koniec. Ak to nepotrebuješ programovať. Ale bolo by dobre keby si tomu porozumel a opísal ho možno vlastnými slovami
sformuluj, to mam napisat nieco ako ty? ja neviem ako zatvorky atd. pocuvaj ja neviem jedno zadanie mame taketo a brat to ani dalej nebudeme tak mi pls povec ako to mam zapisat.
johny_sk
Professional
Professional
Príspevky: 1343
Registrovaný: 15 máj 2008, 21:56

Príspevok od používateľa johny_sk »

omg..., su tam dve verzie, obe maximalne jasne.

ako zistis najmensi prvok? jedine porovnavanim.
ako porovnas vsetky prvky? jeden za druhym, hladas minimum, teda ta zaujima len ten, ktory je mensi

1.krok: nech je prvy prvok minimum
2.krok: porovnas prvy prvok s druhym prvkom, ak je druhy mensi, minimum je ten druhy (ak nie, tak minimum ti ostava prvy)
3.krok: porovnas minimum s tretim prvkom, zapamatas minimum
... porovnavas postupne tvoj "aktualny minimalny prvok" so vsetkymi prvkami
zaver: mas ulozene minimum (jeho index) a vymenis ho s poslednym prvkom
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

gwixt napísal:myslim ze nikde sa nespominalo ze by sa malo zachovat poradie ostatnych prvkov .. takze ked uz najdes najmensi prvok tak ho mozes jednoducho vymenit s poslednym a nemusis presuvat vsetko
potom to už nie je postupnosť s presunutým minimom na koniec, ale úplne iná postupnosť
Vlado6230
Star
Star
Používateľov profilový obrázok
Príspevky: 515
Registrovaný: 03 mar 2007, 21:11
Bydlisko: Banská Bystrica !!!!

Príspevok od používateľa Vlado6230 »

johny_sk napísal:omg..., su tam dve verzie, obe maximalne jasne.

ako zistis najmensi prvok? jedine porovnavanim.
ako porovnas vsetky prvky? jeden za druhym, hladas minimum, teda ta zaujima len ten, ktory je mensi

1.krok: nech je prvy prvok minimum
2.krok: porovnas prvy prvok s druhym prvkom, ak je druhy mensi, minimum je ten druhy (ak nie, tak minimum ti ostava prvy)
3.krok: porovnas minimum s tretim prvkom, zapamatas minimum
... porovnavas postupne tvoj "aktualny minimalny prvok" so vsetkymi prvkami
zaver: mas ulozene minimum (jeho index) a vymenis ho s poslednym
prvkom
dobre to uz chapem, diky ale zapisujem to ako? pomocou dakych zatvoriek alebo ako?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

to sa spýtaj vyučujúceho, je viac možnosti zápisu algoritmu (slovne, graficky..)
Vlado6230
Star
Star
Používateľov profilový obrázok
Príspevky: 515
Registrovaný: 03 mar 2007, 21:11
Bydlisko: Banská Bystrica !!!!

Príspevok od používateľa Vlado6230 »

slovne
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

Slovne to tu bolo popisane uz niekolkokrat. :wink:
Vlado6230
Star
Star
Používateľov profilový obrázok
Príspevky: 515
Registrovaný: 03 mar 2007, 21:11
Bydlisko: Banská Bystrica !!!!

Príspevok od používateľa Vlado6230 »

tak diky teda :)
Napísať odpoveď