• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    EDUDANT
    EDUDANT --- ---
    SLUPKA: já to asi špatně formuloval. Myslím tím postupně všech variací všech hodnot. Takhle


    MORMEGIL: aha už se v tom asi orientuju. Dík
    MORMEGIL
    MORMEGIL --- ---
    TENCOKACISTROMY: To nebude ten problém. :-)

    EDUDANT: Vstupním bodem programu je statická metoda Main, která má návratový typ void a jeden parametr typu string[] (nikoli int!). Pokud čekáš, že na příkazové řádce dostaneš jedno číslo, musíš si ho z těch dodaných parametrů v string[] vysekat sám.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    EDUDANT: Solution Explorer => [tvuj projekt] => mouse-right-click => properties => zalozka application => startup object => [zde vyber tridu "testuj"]
    EDUDANT
    EDUDANT --- ---
    Já už sem se s tím nějak popasoval. Jen sem vždycky dělal v .NET jen knihovny a ted to v console application neumim zkompilovat. Píše mi to že chybý entry point. Jak řikam nejsem rodilý programátor

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.InteropServices;

    public class testuj {

    public static void Main(int n) {
    brute("ABCDEFGHIJKLMNOPQRSTyvwxyzabcdefghijklmnopqrstyvwxyz123456789@#$%^&*()_+-", n, new StringBuilder());

    }
    static void brute(String input, int depth, StringBuilder output) {
    if (depth == 0) {
    Console.WriteLine(output);
    } else {
    for (int i = 0; i < input.Length; i++) {
    output.Append(input[i]);
    // output.Append(input.charAt(i));
    brute(input, depth - 1, output);
    output.Remove(output.Length- 1,1);
    ;
    }
    }
    }
    }








    SLUPKA
    SLUPKA --- ---
    SLUPKA: Pokud bys řešil i složitost, tak jde o to, jakou datovou strukturu použiješ pro S.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: jinak vybornej web, diky !
    SLUPKA
    SLUPKA --- ---
    EDUDANT: variace s opakováním ale nemá to, že potřebuješ využít všechny hodnoty :))

    pokud ale potřebuješ najít jen nějakou, tak bych udělal třeba následující algoritmus

    Znaky = pole vstupních znaků

    1. ověření podmínek (N <= M)
    2. do S si dám indexy 0..M-1
    3. foreach c from Znaky { get random x from S; remove x from S; Výstup[x] = c; }
    4. foreach x from S { get random c from Znaky; Výstup[x] = c; }

    V poli výstup je hledaná "variace s opakováním"
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    tak ja nemam s tou matematikou problem po osvezeni, ale je to nahovno, ze to clovek musi znova studovat, protoze si to nepamatuje.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Ja taky nejsem "matematickej" programator, takze si tyhle veci nepamatuju a vymejslim je silene dlouho (cti: tak dlouho, ze by mi to zakaznik nezaplatil), takze dekuji dobre dusi (je tady z nyxu), ktera vytvorila stranku Algoritmy.NET.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    EDUDANT: mozna by si mohl pomoci i ty me. ja potrebuju analyzovat nejaky patterny, jak se opakuji.
    treba by prave kombinatorika byla to co potrebuju (too prave chci zjistit)

    predstav si nejaky dlouhy string. napriklad 'abcdavbhjkhajhasduafdshdfjkyiwuyeruwvnvmahfdsjkhfasjfdsmnfhasdhfjkhfdshsdjkhfjhdjks'
    proste velmi dlouhy retezec s pismeny. ja bych potreboval najit vsechny opakujici se casti, nekde to budou dve pismena, nekde treba pet, nekdy jen jedno pismeno to ja dopredu nevim.
    ale potrebuju to nejak zanalyzovat aby mi to vypadlo z tohoto.

    ps> samozrejme tohle by bylo k nicemu, budu analyzovat ve skutecnosti tonove sekvence v hudbe, kde neni jen jeden parametr (hodnota) ale v podstate 3 hlavni (hodnota, delka, sila), ale to je ted vedlejsi, princip je stejny jako v tom prikladu.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    ale mozna pro to jsou nejaky vestaveny funkce. tuhle sem se trapil s goniometrickejma funkce, protoze sem potreboval spocitat uhel, a pak sem zjistil, ze staci vytvorit dva objekty typu vektor a pak se zeptat na uhel :)
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    EDUDANT: jo takhle, to neni nic tezkeho, nejakej cyklus a nejaky random. za deset minut napsany, za dvacet odladeny. kdybys potreboval pomoc tak se ozvi.
    EDUDANT
    EDUDANT --- ---
    ANDY_WARHOL: No Variace s opakováním je součástí kombinatoriky.

    Jednoduše řečeno, potřebuji z N hodnot setavit M dlouhý řětezce , přičemž se můžou opakovat. Chci využít všech N hodnot.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    ja sem programator a nejak nevim co to je variace s opakovanim :) nedokazu si pod tim nic predstavit. :)
    EDUDANT
    EDUDANT --- ---
    TENCOKACISTROMY: To neni domácí úkol, kdyby byl tak se tim tolik nezatěžuju. Potřebuju to do jedný aplikace ale nejsem programátor vyloženě. Respektive programuju něco jinýho a tohle prostě neumim :D
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    EDUDANT: To uz se zase delaj domaci ukoly :)?
    KEDRIGERN
    KEDRIGERN --- ---
    KEDRIGERN: Tak ještě jednou u mě: https://gist.github.com/4326905 , nevšiml jsem si, že jsem odhlášen.
    KEDRIGERN
    KEDRIGERN --- ---
    EDUDANT: No tohle jsem si psal v prváku: https://gist.github.com/4326878
    Netuším v jakém je to stavu. Ale imho to chodilo, čili si to kdyžtak dodělej (nejspíš tam budou ošetřeny jen základní chyby). Popřípadě mi pak i opravenou verzi pošli :). Dole je krátké readme.
    EDUDANT
    EDUDANT --- ---
    Ahojte, nemáte někdo hotový script na variace s opakováním? Moc by mi to pomohlo. Díky. Nemůžu se toho algoritmu dopídit a už sem v koncích :D díky
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Pokud s nim dal nepracujes, tak si na to promenou vytvaret nemusis. C# kompilator si tu promenou na ten syntax sugar vytvori sam.
    Na stacku tedy bude stejne.

    Daji se s tim delat ruzny kouzla, docela to pouzivam.
    Kliknutím sem můžete změnit nastavení reklam