Forum » Programiranje » program, ki ti najde vse kombinacije črk oz. številk, ki mu jih podaš
program, ki ti najde vse kombinacije črk oz. številk, ki mu jih podaš
vilonja ::
Lep pozdrav vsi na tem forumu.
Mene pa zanima, če je možno narediti program, ki ti napiše vse možne kombinacije črk oz. številk ki mu jih podaš.
Npr.
123
In računalnik bi mi jih razvrstil
123
132
213
231
312
321
Samo da bi računalnik lahko naredil to recimo za 10 ali celo več črk oziroma številk.
Hvala za vse odgovore.
Mene pa zanima, če je možno narediti program, ki ti napiše vse možne kombinacije črk oz. številk ki mu jih podaš.
Npr.
123
In računalnik bi mi jih razvrstil
123
132
213
231
312
321
Samo da bi računalnik lahko naredil to recimo za 10 ali celo več črk oziroma številk.
Hvala za vse odgovore.
- spremenilo: vilonja ()
specing ::
seveda je. Hitra implementacija bi bila rekurzija: vzames en element ven iz seznama in klices rekurzijo na preostalih elementih. Ko prides do praznega seznama, izpises izbran seznam in returnas.
Heavy ::
Seveda lahko, prebereš začetni niz v tabelo in nato narediš permutacije nad njo. Odvisno v katerem jeziku delaš, eni že imajo funkcijo vgrajeno (v c++ je std::next_permutation).
illion ::
Najbrž si mislu permutacije?
kle je online javasckripta, sam pazi, če boš dal velik znakov, bo delal kar nekaj časa:)
http://learn.roguecc.edu/IT/JMiller/Jav...
kle je online javasckripta, sam pazi, če boš dal velik znakov, bo delal kar nekaj časa:)
http://learn.roguecc.edu/IT/JMiller/Jav...
vilonja ::
recmo tja največ do petnajst črk
kako pa lahko potem izločim tiste, ki niso v slovarju, ali lahko sam v word prekopiram in mi potem prikaže besede, ki so narobe napisano podćrtano
kako pa lahko potem izločim tiste, ki niso v slovarju, ali lahko sam v word prekopiram in mi potem prikaže besede, ki so narobe napisano podćrtano
Zgodovina sprememb…
- spremenilo: vilonja ()
Heavy ::
Če imaš podan seznam veljavnih besed samo loopaj po njemu pa primerjaj če se stringi ujemajo
vilonja ::
heavy ampak problem je ker nimam jaz nobenega znanja o programiranju
bi mi lahko prosim pomagal ali vsaj povedal kako to narediti
bi mi lahko prosim pomagal ali vsaj povedal kako to narediti
shadeX ::
Sicer nisi povedal za kaj potrebuješ, ampak bi rekel da obstaja že kar nekaj takih in podobnih programov.
vilonja ::
nene pac k je beseda premetanka v kaksnih revija in potem samo črke not vstavim in mi premeče vse črke, potem pa to primerjam s slovarjem in dobim besedo besede so pa tja do 10 črk dolge
Heavy ::
Smurf ::
Hitreje bo, ce vzames spisek besed v slovarju in preverjas vsebovanje tvojih crk v teh besedah. Permutiranje vsega je overkill.
epicVoid ::
Ena ideja bi recimo bila takšna da izbereš najprej dolžine nizov v slovarju, ki ustrezajo vhodnemu nizu (če ima vhodni podatek 6 mest potem iščeš v slovarju samo besede z dolžino 6 mest)
s6c-gEL ::
Za take zadeve, crunch + awk, na linux distro .
http://awk.freeshell.org/ComparingTwoFi...
file1 = permutacije, ki jih narediš s crunch , npr za 12 mestno besedo (a-z charset) potrebuje okoli 6 gb prostora.
file2 = slovarji
http://awk.freeshell.org/ComparingTwoFi...
file1 = permutacije, ki jih narediš s crunch , npr za 12 mestno besedo (a-z charset) potrebuje okoli 6 gb prostora.
file2 = slovarji
Zgodovina sprememb…
- spremenilo: s6c-gEL ()
vilonja ::
sm že probal
dolžina je bila 10 črk ampak potem tega nisem mogel kopirati pa ne vem zakaj
a bi mi lahko povedal kdo za kaksen dober slovar, ki ima možnost omejevanja dolžine besed
kje bi pa dobil file s slovarji
s6c-gEL oprosti ampak jaz sem res nevešč v tem pa te ne razumem dobro
ali je mogoce tudi kaksen vodic na youtubu
dolžina je bila 10 črk ampak potem tega nisem mogel kopirati pa ne vem zakaj
a bi mi lahko povedal kdo za kaksen dober slovar, ki ima možnost omejevanja dolžine besed
kje bi pa dobil file s slovarji
s6c-gEL oprosti ampak jaz sem res nevešč v tem pa te ne razumem dobro
ali je mogoce tudi kaksen vodic na youtubu
Zgodovina sprememb…
- spremenilo: vilonja ()
Yacked2 ::
Vse tiste črke, ki jih lahko uporabiš shrani v tabelo, nato po pojdi čez slovar in tam kjer se število znakov v besedi ujema z številom elementov v tabeli, preveri ali so v besedi vse te črke, če so potem besedo izpišeš/shraniš v drugo tabelo, drugače funkcija vrne false in gremo na naslednjo. Zagovovo boljša ideja kot generiranje vseh.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!
Spura ::
Isuse, zakaj noben tle ne ni navedel cisto preproste optimizacije, ce isces anagrame slovarskih besed, in sicer, da preprosto za vsako besedo v slovarju posortiras crke in to uporabis kot kljuc? Potem se te kljuce posortiras in zapises v fajl. Oziroma verjetno z lahkoto cel slovar zbases v RAM. Recimo hashmap String - > List[String], z entryi tipa:
Pol za vsako besedo lahko izracunas kljuc (posortiras crke), in iz hashmapa prakticno takoj dobis vse slovarske besede, ki so anagrami iz teh crk.
Tak hashmap lahko dumpnes v fajl in pol loadas iz fajla da ga ne racunas vsakic znova.
"ajnov" -> ["vojna", "javno"]
Pol za vsako besedo lahko izracunas kljuc (posortiras crke), in iz hashmapa prakticno takoj dobis vse slovarske besede, ki so anagrami iz teh crk.
Tak hashmap lahko dumpnes v fajl in pol loadas iz fajla da ga ne racunas vsakic znova.
Zgodovina sprememb…
- spremenil: Spura ()
vilonja ::
a bi mi kdo bil mogoče pripravljen to bolj podrobno razložiti ali pomagati
res bil bi zelo hvaležen ali pa če bi mi vsaj pomagali najti kakšen youtube vodič
pa še to me zanima ali je potrebno veliko časa da napišeš to kodo
res bil bi zelo hvaležen ali pa če bi mi vsaj pomagali najti kakšen youtube vodič
pa še to me zanima ali je potrebno veliko časa da napišeš to kodo
Zgodovina sprememb…
- spremenilo: vilonja ()
illion ::
kle mas http://wikisend.com/download/293446/bes... odpri index.html z browserjem (ff/chrome, IE ne vem ce dela..)
edit: seznam slo besed je tu: http://bos.zrc-sazu.si/sbsj.html
edit: seznam slo besed je tu: http://bos.zrc-sazu.si/sbsj.html
Zgodovina sprememb…
- spremenil: illion ()
M.B. ::
Glede na to, da se stvari ne ponavljajo iščeš Permutacije. Število permutacij n elementov je n!. Kar pomeni za 10 števil je 3628800 različnih permutacij.
V pythonu je to to (predvideva se, da se vhodni znaki ne ponavljajo):
Več na strani s Pomočjo
V pythonu je to to (predvideva se, da se vhodni znaki ne ponavljajo):
from itertools import permutations vhod=[1,2,3] for permutation in permutations(vhod): print permutation
Več na strani s Pomočjo
Everyone started out as a newbie.
Sadly only a handful ever progress past that point.
Sadly only a handful ever progress past that point.
7982884e ::
spura pa je to težko narediti
no ja, tole maš v 10 min
List<String> besede = new List<String>(); Dictionary<String, List<String>> slovar = new Dictionary<String, List<String>>(); String getKey(String word) { char[] chars = word.ToCharArray(); Array.Sort<char>(chars); return new String(chars); } besede.Add("ena"); besede.Add("dva"); besede.Add("vojna"); besede.Add("javno"); for (int i=0; i<besede.Count; i++) { String kljuc = getKey(besede[i]); if (!slovar.ContainsKey(kljuc)) { slovar.Add(kljuc, new List<String>()); slovar[kljuc].Add(besede[i]); } else { slovar[kljuc].Add(besede[i]); } } Console.Writeline("Slovar: "); foreach( KeyValuePair<string, List<String>> kvp in slovar ){ Console.Writeline("kljuc: "kvp.Key+": "); List<String> val = kvp.Value; for (int i=0; i<val.Count; i++) Console.Writeline("vrednost: "+val[i]); } Console.Writeline("----------"); String kombinacija = "vnoaj"; List<String> ustrezajoce = new List<String>(); bool najdeno = slovar.TryGetValue(getKey(kombinacija), out ustrezajoce); if (najdeno) for (int i=0; i<ustrezajoce.Count; i++) Console.Writeline("Ustrezajoca beseda: "+ustrezajoce[i]);
Zgodovina sprememb…
- spremenilo: 7982884e ()
vorantz ::
Clovek sploh ne ve kaj je p od programiranja vi pa mu dajete kodo...
najbrz pricakuje, da nekdo tle nrdi za njega zadevo da bo samo dvokliknu in bo lahko mlel
najbrz pricakuje, da nekdo tle nrdi za njega zadevo da bo samo dvokliknu in bo lahko mlel
vilonja ::
ne to imam zase, da bi mi pa kdo to naredil bi bilo pa res super, drugače bom pa mogel sam malo pobrskati ampak če bi mi kdo to naredil bi bil pa zelo vesel
s6c-gEL ::
Mene bolj zanima v kaksni obliki rabi sploh.. je to za kaksno domaco nalogo?
Na Tv3/golica imajo take premetanke...
Kako lahko reši svoj problem sem mu že napisal v temi, vendar je očitno nepismen in nesposoben, da me nadleguje še preko zs.
btw, slovar brez šumnikov imaš http://tinyurl.com/kxp78ca
je bil dostopen na:
http://360percents.com/wordlist/
(delo ST uporabnika)
Zgodovina sprememb…
- spremenilo: s6c-gEL ()
SubjectX ::
To je Java koda, ki jo moras skompajlati.
Ne vem zakaj ti userji lepijo kodo, ce je ocitno, da si programersko nepismen.
Predvidevam, da ti potrebujes program, kamor bos samo vpisal zaporedje znakov in on ti ven pljune (na zaslon? v datoteko?) vse permutacije in ti jih nato se primerja z besedami v sskj, da se ujemajo, kajne?
BTW: jaz bi to raje resil z Trie implementacijo celotnega slovarja, ki ga je s6c-gel prlepu..
Ne vem zakaj ti userji lepijo kodo, ce je ocitno, da si programersko nepismen.
Predvidevam, da ti potrebujes program, kamor bos samo vpisal zaporedje znakov in on ti ven pljune (na zaslon? v datoteko?) vse permutacije in ti jih nato se primerja z besedami v sskj, da se ujemajo, kajne?
BTW: jaz bi to raje resil z Trie implementacijo celotnega slovarja, ki ga je s6c-gel prlepu..
vilonja ::
ja tako je subjectx ali obstaja kje kakšen vodič kjer bi se to lahko naučil ali naj vzamem knjigo za java program in jo se sam začnem učiti
7982884e ::
Kaj pa ta koda ki jo je zgoraj napisal 79828844e
ker je mi je glih dalo
https://www.dropbox.com/s/m1sbyxjosloc9...
podat mu moraš datoteko kjer je v vsaki vrstici veljavna beseda
vilonja ::
A to java programu
torej vsako vrstico posebej kopiram v java program
torej vsako vrstico posebej kopiram v java program
Zgodovina sprememb…
- spremenilo: vilonja ()
7982884e ::
to je zip, ki ga razpakiraš in dobiš .exe, ki ga zaženeš z dvoklikom
v aplikaciji maš vnosno polje kjer moreš vnest pot do datoteke z besedami
v aplikaciji maš vnosno polje kjer moreš vnest pot do datoteke z besedami
7982884e ::
pot more zgledat tko
c:\\datoteka.txt
al pa jo daš v isto mapo kot je program pa lahko napišeš samo datoteka.txt
c:\\datoteka.txt
al pa jo daš v isto mapo kot je program pa lahko napišeš samo datoteka.txt
s6c-gEL ::
7982884e
Spremeni da oba input boxa pobrišeta prej napisan tekst ("iskana kombinacija" ter "pot do datoteke z besedami"), ko notri vpišeš besedilo.
Spremeni da oba input boxa pobrišeta prej napisan tekst ("iskana kombinacija" ter "pot do datoteke z besedami"), ko notri vpišeš besedilo.
Zgodovina sprememb…
- spremenilo: s6c-gEL ()
vilonja ::
C:\Users\MARJAN\Downloads\Iskalnik
v tej mapi imam datoteko in pravtako to vnesem tudi v okvit pot do datoteke z besedami in mi napiše da datoteka ni najdena ko kliknem naloži
v datoteki z besedami je vsaka beseda napisan v svoji vrstici
aja pa še vsakič preden vnesem pot do datoteke pobrišem polje
v tej mapi imam datoteko in pravtako to vnesem tudi v okvit pot do datoteke z besedami in mi napiše da datoteka ni najdena ko kliknem naloži
v datoteki z besedami je vsaka beseda napisan v svoji vrstici
aja pa še vsakič preden vnesem pot do datoteke pobrišem polje
Zgodovina sprememb…
- spremenilo: vilonja ()
7982884e ::
7982884emeh, ne da se mi zdej več tisto spreminjat, bo že
Spremeni da oba input boxa pobrišeta prej napisan tekst ("iskana kombinacija" ter "pot do datoteke z besedami"), ko notri vpišeš besedilo.
C:\Users\MARJAN\Downloads\Iskalnikkako zgleda to kar ti not napišeš?
v tej mapi imam datoteko in pravtako to vnesem tudi v okvit pot do datoteke z besedami in mi napiše da datoteka ni najdena ko kliknem naloži
v datoteki z besedami je vsaka beseda napisan v svoji vrstici
aja pa še vsakič preden vnesem pot do datoteke pobrišem polje
če imaš datoteko ImeDatoteke.txt, moreš napisat
C:\Users\MARJAN\Downloads\ImeDatoteke.txt ali pa samo ImeDatoteke.txt pa bi moglo delat
vilonja ::
v oknu pot do datoteke z besedami pobrišem vse črke, tako da je okno prosto, nato vnesem tole C:\Users\MARJAN\Downloads\Iskalnik\datoteka.txt in kliknem naloži. Nato mi zgoraj napiše datoteka ni najdena.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Python permutacije slo. besedOddelek: Programiranje | 2330 (1776) | epsilon |
» | Python - pomoč (strani: 1 2 3 )Oddelek: Programiranje | 18142 (8890) | black ice |
» | [C#] Domača naloga - osnoveOddelek: Programiranje | 2509 (1726) | 11tomi12 |
» | mysql, permutacije in besede v slovarjuOddelek: Programiranje | 1782 (1472) | Hayabusa |
» | [Java] Frekvenca besedOddelek: Programiranje | 1342 (1196) | zila90 |