Stránka 1 z 1
Program pro náhodné dosazení
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:
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#

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...