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š
bauci ::
Zadeva deluje. Bom razložil bolj počasi :).
Najprej iz povezave zgoraj skopiraš datoteko z besedami iz slovenskega slovarja in to v isti direktorij kjer imaš exe. program. Zaženeš program in v spodnje okno (kjer prej izbrišeš napisan tekst) vpišeš ime slovarja (original je file2.txt) in klikneš tipko Naloži. Počakaš par sekund in pod zgornji gumbom Išče dobiš napisano koliko besed se je naložilo (meni 1.165.852). Nato vpišeš besedo v okno nad gumbom Išči in pritisneš gumb Išči. V velikem oknu se izpišejo besede/premetanke iz slovenskega slovarja.
Najprej iz povezave zgoraj skopiraš datoteko z besedami iz slovenskega slovarja in to v isti direktorij kjer imaš exe. program. Zaženeš program in v spodnje okno (kjer prej izbrišeš napisan tekst) vpišeš ime slovarja (original je file2.txt) in klikneš tipko Naloži. Počakaš par sekund in pod zgornji gumbom Išče dobiš napisano koliko besed se je naložilo (meni 1.165.852). Nato vpišeš besedo v okno nad gumbom Išči in pritisneš gumb Išči. V velikem oknu se izpišejo besede/premetanke iz slovenskega slovarja.
vilonja ::
Oj dela mi problem je bil ker programa nisem zagnal kot skrbnik
a ta link ki si ga naredil je začasni
a ta link ki si ga naredil je začasni
Zgodovina sprememb…
- spremenilo: vilonja ()
7982884e ::
uf, kako ti je pa tole uspelo odkriti? :)
ker sem glih bil za racunalnikom in me je zanimalo, kako bi tole resil v Kotlinu, tlele je en web projektic:
https://try.kotlinlang.org/#/UserProjec...
ker sem glih bil za racunalnikom in me je zanimalo, kako bi tole resil v Kotlinu, tlele je en web projektic:
https://try.kotlinlang.org/#/UserProjec...
Grega555 ::
Ima še mogoče kdo ta program in ga lahko uploada?
Najlepša hvala
LP
Lahko mogoče program uploadaš ?
Najlepša Hvala
Najlepša hvala
LP
Na katerem linku si pa dobil slovar, ker je vec linkov
Lahko mogoče program uploadaš ?
Najlepša Hvala
Zgodovina sprememb…
- spremenilo: Grega555 ()
kuall ::
kombinatorika ni tako težka. to lahko sam zmutiš, ni hudič. je podobno lahka kot seštevanje in množenje v prvem razredu. pač novo je, malo moraš vklopit možgane ampak se da.
ne rabiš niti nikoli se tega učit v šoli niti brati kakšnih knjig, da bi znal to sam stuhtat.
ne rabiš niti nikoli se tega učit v šoli niti brati kakšnih knjig, da bi znal to sam stuhtat.
mr_chai ::
Še v mojem najljubšem lispu. To se samo vidi, kako nepotrebna je vsa ta C-jevska solata zgoraj. Lispi se mi zdijo najbolj ekspresivni jeziki, v katerih se da povedati veliko z zelo malo kode. No, potem so še logični jeziki. V kakšnem prologu bi bile rešitve še krajše.
(defn rotations [a-seq] (rest (map concat (tails a-seq) (inits a-seq)))) (defn permutations [a-set] (if (empty? a-set) (list ()) (mapcat (fn [[x & xs]] (map #(cons x %) (permutations xs))) (rotations a-set))))
7982884e ::
Ima še mogoče kdo ta program in ga lahko uploada?
Najlepša hvala
LP
Na katerem linku si pa dobil slovar, ker je vec linkov
Lahko mogoče program uploadaš ?
Najlepša Hvala
imas ga v temi.
ce hoces, da kdo zate dela, torej zaganja pravilno okolje in ti builda se nek graficni vmesnik, najbolje da mu placas. lahko povprasas kaksne studente na FRI ali celo na srednji soli vegova.
Spura ::
Še v mojem najljubšem lispu. To se samo vidi, kako nepotrebna je vsa ta C-jevska solata zgoraj. Lispi se mi zdijo najbolj ekspresivni jeziki, v katerih se da povedati veliko z zelo malo kode. No, potem so še logični jeziki. V kakšnem prologu bi bile rešitve še krajše.Ti manjkata se tails in inits funkciji. To je tona kode, in 4 funkcije ko lahko naredis preprosto:
(defn rotations [a-seq]
(rest (map concat (tails a-seq) (inits a-seq))))
(defn permutations [a-set]
(if (empty? a-set)
(list ())
(mapcat
(fn [[x & xs]] (map #(cons x %) (permutations xs)))
(rotations a-set))))
(defn permutations [items] (for [i (range (count items)) :let [[lead [x & tail]] (split-at i items)] p (or (seq (permutations (concat lead tail))) [[]])] (conj p x)))
XyNOBvxWVJ ::
Whata? Najprej pretvoriš izraze slovarja v sortirano zaporedje znakov, isto velja za iskano besedo in potem imaš direktne matche, zakaj hudiča permutacije, kaj če imaš dolgo besedo - dialektičnomaterialističen - to bi vi delali 26! (pač, odvisno od ponavljajočih se znakov, ja, drži, kripto mesi) permutacij? Čemu?
Zgodovina sprememb…
- spremenilo: XyNOBvxWVJ ()
XyNOBvxWVJ ::
A s temi prsti (mindsetom) vi prodajate svetovalne storitve ali kaj?
Kar se mene tiče, odpoved, veljavna takoj.
Kar se mene tiče, odpoved, veljavna takoj.
7982884e ::
Še v mojem najljubšem lispu. To se samo vidi, kako nepotrebna je vsa ta C-jevska solata zgoraj. Lispi se mi zdijo najbolj ekspresivni jeziki, v katerih se da povedati veliko z zelo malo kode. No, potem so še logični jeziki. V kakšnem prologu bi bile rešitve še krajše.
(defn rotations [a-seq]
(rest (map concat (tails a-seq) (inits a-seq))))
(defn permutations [a-set]
(if (empty? a-set)
(list ())
(mapcat
(fn [[x & xs]] (map #(cons x %) (permutations xs)))
(rotations a-set))))
najboljsa stvar teh akademskih jezikov je, kako neprimerljiva je navdusenost njihovih avtorjev napram prakticni uporabnosti (beri: berljivost) (da o casovni kompleksnosti ne govorim).
kotlin (pragmaticen moderen jezik):
fun main() { val set = setOf("ena", "dva", "vojna", "javno") val mapped = set.groupBy { it.sortedKey() } println("Slovar: ${mapped.map { "${it.key}: ${it.value.joinToString()}" }.joinToString()}") val new = "vnoaj" val matching = mapped[new.sortedKey()] println("Ustrezajoce: ${matching?.joinToString() ?: "-"}") } fun String.sortedKey() = toCharArray().sorted().joinToString("")
(ne bom rekel da so println vrstice to, kar bi pisal v produkcijski kodi (ker je grdo), ampak ok.)
Zgodovina sprememb…
- spremenilo: 7982884e ()
mr_chai ::
Še v mojem najljubšem lispu. To se samo vidi, kako nepotrebna je vsa ta C-jevska solata zgoraj. Lispi se mi zdijo najbolj ekspresivni jeziki, v katerih se da povedati veliko z zelo malo kode. No, potem so še logični jeziki. V kakšnem prologu bi bile rešitve še krajše.Ti manjkata se tails in inits funkciji. To je tona kode, in 4 funkcije ko lahko naredis preprosto:
(defn rotations [a-seq]
(rest (map concat (tails a-seq) (inits a-seq))))
(defn permutations [a-set]
(if (empty? a-set)
(list ())
(mapcat
(fn [[x & xs]] (map #(cons x %) (permutations xs)))
(rotations a-set))))
(defn permutations
[items]
(for [i (range (count items))
:let [[lead [x & tail]] (split-at i items)]
p (or (seq (permutations (concat lead tail))) [[]])]
(conj p x)))
Sem sam kopiral iz stackexchange-a, drugače bi naredil nekaj podobnega. Imaš pa samo en problem, concat ni glih optimalna rešitev v kombinaciji z lazy sequenci. boljše bi bilo namesto (concat lead tail) uporabiti (into lead tail). Source: https://stuartsierra.com/2015/04/26/clo...
mr_chai ::
najboljsa stvar teh akademskih jezikov je, kako neprimerljiva je navdusenost njihovih avtorjev napram prakticni uporabnosti (beri: berljivost) (da o casovni kompleksnosti ne govorim).
kotlin (pragmaticen moderen jezik):
fun main() {
val set = setOf("ena", "dva", "vojna", "javno")
val mapped = set.groupBy { it.sortedKey() }
println("Slovar: ${mapped.map { "${it.key}: ${it.value.joinToString()}" }.joinToString()}")
val new = "vnoaj"
val matching = mapped[new.sortedKey()]
println("Ustrezajoce: ${matching?.joinToString() ?: "-"}")
}
fun String.sortedKey() = toCharArray().sorted().joinToString("")
(ne bom rekel da so println vrstice to, kar bi pisal v produkcijski kodi (ker je grdo), ampak ok.)
Ne razumem kaj hočeš povedati. Clojure ni akademski jezik, je zelo pragmatičen in uporaben.
Primer tvoje kode v CLojureju.
(def dict (group-by set ["ena" "dva" "vojna" "javno"])) (get dict (set "ajnov"))
Ampak nočem pretiravat o tem, da je koda krajša, mogoče je, mogoče ni. Verjamem, da se da tudi v Kotlinu kaj zelo na kratko, saj vendar tudi podpira funkcijsko programiranje. Glavni point Clojureja je drugje, built in persistenčne podatkovne strukture, REPL driven development..To so dve strani IMHO največji plus jezika in pa seveda forsiranje funkcijskega programiranja.
XyNOBvxWVJ ::
798 je ponazoril rešitev brez permutacij:
Pri besedi od 26 znakov bi moral naredit 26! (=403,291,461,126,605,635,584,000,000) permutacij, ni ravno nekaj, kar bi bilo zaključeno v trenutku.
Dvomim tudi, da tvoj program obravnava ponavljajoče se znake (s čimer bi preskočil podmnožico ponovljenih permutacij).
Za podrobnosti vprašaj kripto mesi-ja.
fun String.sortedKey() = toCharArray().sorted().joinToString("")
Pri besedi od 26 znakov bi moral naredit 26! (=403,291,461,126,605,635,584,000,000) permutacij, ni ravno nekaj, kar bi bilo zaključeno v trenutku.
Dvomim tudi, da tvoj program obravnava ponavljajoče se znake (s čimer bi preskočil podmnožico ponovljenih permutacij).
Za podrobnosti vprašaj kripto mesi-ja.
Zgodovina sprememb…
- spremenilo: XyNOBvxWVJ ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Python permutacije slo. besedOddelek: Programiranje | 2301 (1747) | epsilon |
» | Python - pomoč (strani: 1 2 3 )Oddelek: Programiranje | 18035 (8783) | black ice |
» | [C#] Domača naloga - osnoveOddelek: Programiranje | 2498 (1715) | 11tomi12 |
» | mysql, permutacije in besede v slovarjuOddelek: Programiranje | 1766 (1456) | Hayabusa |
» | [Java] Frekvenca besedOddelek: Programiranje | 1330 (1184) | zila90 |