Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – Lámač přesmyček

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Luboš Běhounek Satik
Petr Nymsa:1.2.2013 16:12

Viz několik příspěvků nahoře

Odpovedať
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovedá na Petr Nymsa
Luboš Běhounek Satik:1.2.2013 16:55

Aha, random, to se pak nediv :D

Použij buďto rekurzi nebo třeba zásobník.
Přes zásobník:

public struct StackData
    {
        public String prefix;
        public String charsToPermutate;

        public StackData(String prefix, String charsToPermutate)
        {
            this.prefix = prefix;
            this.charsToPermutate = charsToPermutate;
        }
    }
private List<String> GetAllCombinations(String word)
        {
            Stack<StackData> stackRecord = new Stack<StackData>();
            List<String> words = new List<string>();

            stackRecord.Push(new StackData("", word));

            while (stackRecord.Count > 0)
            {
                StackData w = stackRecord.Pop();

                if (w.charsToPermutate.Length == 0) // finalni permutace
                {
                    words.Add(w.prefix);
                    continue;
                }

                for (int i = 0; i < w.charsToPermutate.Length; i++)
                {
                    StackData tmp = new StackData(w.prefix + w.charsToPermutate[i], w.charsToPermutate.Remove(i, 1));
                    stackRecord.Push(tmp);
                }

            }

            return words;
        }
Editované
Odpovedať
https://www.facebook.com/peasantsandcastles/
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Luboš Běhounek Satik
Petr Nymsa:1.2.2013 19:34

To už vypadá zajímavě ale budu to muset povylepšit nebo nějak předělat, neboť u slova lokomotiav, tedy přesmyčka slova lokomotiva, to dělá asi miliardu kombinací, resp. nedočkáš se výsledku :D.

Edit: Ne, stackoverflow, to se stane :D

Editované
Odpovedať
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Luboš Běhounek Satik:1.2.2013 20:07

Stack overflow nastane většinou při příliš hluboké (nebo špatně napsané) rekurzi, protože každé volání funkce (i v rekurzi) na zásobník aplikace přidá nějaké hodnoty (parametry funkce, případně obsahy registrů) a tenhle zásobník je defaultně velký jen 1MB.

Obejít to můžeš právě použitím kolekce Stack, která zásobník simuluje, ale není na zásobníku, takže má přístup k celé paměti.

(Pozor - neplést zásobník aplikace (stack) a zásobník (Stack) jako kolekci .NETu)

Odpovedať
https://www.facebook.com/peasantsandcastles/
Avatar
Hartrik
Tvůrce
Avatar
Hartrik:2.2.2013 21:08

Před chvílí jsem nahrál novou verzi.
Změny: gui, přidán anglický slovník (480 000 slov), informace a na velikosti písmen už nezáleží...

Avatar
Michal
Nevyplnené
Avatar
Michal:3.2.2013 13:01

VYhledávač přesmyček online: http://anagrammer.org/

Avatar
Hartrik
Tvůrce
Avatar
Odpovedá na
Hartrik:3.2.2013 13:33

Tak o tom jsem nevěděl (teda narazil jsem na to, ale myslel jsem si že tam přesmyčky jen tvoří)...
Nicméně můžu navíc nabídnout podporu diakritiky a výpis všech obměn.

Avatar
Michal
Nevyplnené
Avatar
Odpovedá na Hartrik
Michal:6.2.2013 10:13

Napiš mi na mail, diakritiku bychom mohli vyzkoušet i online, jen těch kombinací asi bude podstatně méně.

Avatar
Hartrik
Tvůrce
Avatar
Hartrik:8.2.2013 22:05

Změny v nové verzi

  • podpora dlouhých slov
  • lépe čitelný kód
  • značné zmenšení velikosti
Avatar
eliška
Nevyplnené
Avatar
eliška:9.4.2013 19:26

twle nevěděla sem přesmičky ale ten server je nej:O:O:O :D

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 45.