Stránka 1 z 1

Program pro náhodné dosazení  Vyřešeno

Napsal: 19 črc 2015 20:44
od XmarekX
Zdravím neznáte nějaký program který na 2 místa v kodu dosadí písmena tak abych viděl všechny možnosti? Díky

např. AXXX-XXXXX-XXXXB na místo A a B dosadí náhodná písmena.. A abch viděl všechny možnosti :)

Re: Program pro náhodné dosazení

Napsal: 19 črc 2015 21:02
od Uziv00
Si to stvoř sám ne? Pomocí fce rnd vygeneruješ ascii a převedeš na písmeno.

Re: Program pro náhodné dosazení

Napsal: 19 črc 2015 21:04
od XmarekX
No kdybych to uměl tak asi bych nepsal sem :))

Re: Program pro náhodné dosazení

Napsal: 19 črc 2015 21:33
od Sender
Hotovej program neznám,ale způsob fungování nějak takhle:
Nadefinuješ si pole znaků(abecedy,nebo čísel -co je třeba) a v cyklu budeš dosazovat z pole.Začneš u polem "A" na indexu 0 a u B musíš dosadit postupně všechny znaky pole "B" až proběhne poslední,inkrementuješ u pole "A" o jednu a zase znova v cyklu všechny znaky pole "B".Pokud je potřeba generovat znaky náhodně,musí se řešit kontrola jestli už vygenerovanej řetězec existuje.

Re: Program pro náhodné dosazení

Napsal: 19 črc 2015 21:35
od faraon
Ach jo, byly doby kdy průměrný uživatel počítače takovéhle základní úlohy zvládal v řádu minut, jenže pak přišla doba dutých klikoňů...

Takže program samozřejmě známe, řekni si v jakém programovacím jazyce ho chceš a dostaneš ho. Takhle by vypadal v C:

Kód: Vybrat vše

#include <stdio.h>

int main(void)
    {
    int i,j;
    char text[1000];

    printf("Zadek kod: ");
    gets(text);
    for (i=j='A';j<='Z';)
        {
        printf("%c%s%c\n",j,text,i);
        if ('Z'<++i)
           {
           i='A';
           ++j;
           }
        }

    return 0;
    }

Před a za zadaný kód doplní písmena A až Z a vypíše všech 676 kombinací. Nedoporučuji zadávat řetězec delší než 999 znaků, není tam kontrola přetečení!

Kdybys používal Linux nebo nějaký jiný unixový systém, a ne redmondský omalovánkový crippleware pro tupouny, mohl bys v bashi stejnou věc provést jediným příkazem, navíc mnohem variabilněji než v tom Céčku, kdybys třeba ta písmena chtěl na jiných místech:

Kód: Vybrat vše

echo {A..Z}XXX-XXXXX-XXXX{A..Z}

A pokud by ti vadilo že máš všechny kombinace napsané za sebou a ne ve sloupci pod sebou, stačí prohnat výsledný text rourou a sedem změnit mezery mezi kombinacemi na zalomení řádku (pokud bys tedy nepoužil nejdřív příkaz man echo a nezapnul si zalamování přímo):

Kód: Vybrat vše

echo {A..Z}XXX-XXXXX-XXXX{A..Z} | sed s/' '/'\n'/g

O možném přesměrování výstupu z obrazovky do souboru pro pozdější použití ani nemluvě, to šlo udělat před třiceti lety i v ubohém maloměkkém M$-DOSu!

Sender: Podle tvého přístupu hádám že děláš do Javy nebo C# :lol:

Re: Program pro náhodné dosazení

Napsal: 19 črc 2015 21:46
od Sender
faraon> Naznačil jsem tak nějak univerzální způsob,protože nevím jestli tazateli jde o vybraný znaky.Jde to napsat několika způsoby,záleží jen na jazyku...