| | |  |  | Zdravím čtenáře soomu, měl bych na Vás dotaz.Jedná se o program ve vb.net kde mám 9! kombinací devíti objektů. Sami musíte uznat, že je to docela dost.A nyní k dotazu. Mohl by jste mi někdo poradit, jakým způsobem mám vytvořit všechny kombinace? Ručně vypisovat je více než nesmysl.
 Předem díky za alespoň případné naznačení cesty k hledání odpovědi.
 (odpovědět)
 |  |  | 
 | 
 | 
| | |  |  | Ne že bych úplně chápal zadání (to jako spojový seznam, nebo co je to za objekty?), ale dvě for smyčky ti nejsou dost dobré? 
 Zde je krátký program v D, který doufám ilustruje jak to funguje:
 
 import std.stdio;
 
 int main(string[] args){
 int[] cisla    = [1, 2, 3, 4, 5, 6, 7, 8, 9];
 string[] jmena = ["jeden", "dva", "tři", "čtyři", "pět", "šest", "sedm", "osm", "devět"];
 
 foreach(cislo; cisla)
 foreach(jmeno; jmena)
 writeln(cislo, " ", jmeno);
 
 return 0;
 }
 
 Nějaká forma for smyčky je určitě i ve VisualBasicu, foreach prostě prochází přes všechny prvky.
 
 Zde je výstup:
 
 1 jeden
 1 dva
 1 tři
 1 čtyři
 1 pět
 1 šest
 1 sedm
 1 osm
 1 devět
 2 jeden
 2 dva
 2 tři
 2 čtyři
 2 pět
 2 šest
 2 sedm
 2 osm
 2 devět
 3 jeden
 3 dva
 3 tři
 3 čtyři
 3 pět
 3 šest
 3 sedm
 3 osm
 3 devět
 4 jeden
 4 dva
 4 tři
 4 čtyři
 4 pět
 4 šest
 4 sedm
 4 osm
 4 devět
 5 jeden
 5 dva
 5 tři
 5 čtyři
 5 pět
 5 šest
 5 sedm
 5 osm
 5 devět
 6 jeden
 6 dva
 6 tři
 6 čtyři
 6 pět
 6 šest
 6 sedm
 6 osm
 6 devět
 7 jeden
 7 dva
 7 tři
 7 čtyři
 7 pět
 7 šest
 7 sedm
 7 osm
 7 devět
 8 jeden
 8 dva
 8 tři
 8 čtyři
 8 pět
 8 šest
 8 sedm
 8 osm
 8 devět
 9 jeden
 9 dva
 9 tři
 9 čtyři
 9 pět
 9 šest
 9 sedm
 9 osm
 9 devět
 
 Doufám že ti tahle odpověď stačí.
 (odpovědět)
 |  | | Bystroushaak_ | 83.208.175.* | 27.12.2011 13:31 | 
 | 
 | 
 | 
| | |  |  | Heh, zajímavé. Soom by fakt potřeboval trochu předělat. 
 Jen si tu něco testnu:
 
 
 asldkasodkasdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 asdad
 ůlůl
 
(odpovědět)
 |  | | Bystroushaak_ | 83.208.175.* | 27.12.2011 13:32 | 
 | 
 | 
 | 
| | |  |  | Pokud chcete přidat blok kódu, obalte ho značkou pre a tu obalte značkou code. Pokud použijete jen pre, soom před každý \n vloží ještě <br>, takže budete mít dvojité odřádkování jako v případě výpisu kombinací, který je jinak podstatně kratší. Pokud použijete jen code, soom ignoruje odsazení. (odpovědět)
 |  | | Bystroushaak_ | 83.208.175.* | 27.12.2011 13:35 | 
 | 
 | 
 | 
| | |  |  | Omlouvám se za nesrozumitelnost mého dotazu,ale měl jsem namyssli spíše toto: 
 123456789
 456789123
 452369871
 ...
 
 zkrátka, že mi to přeskupí všechny čísla, nebo prvky pole do náhodného pořadí
 (odpovědět)
 |  |  | 
 | 
 | 
| | |  |  | Nedá se zrovna říct, že tě chápu. 
 Chceš vypsat kombinace? Nebo chceš náhodné číslo?
 (odpovědět)
 |  | | Bystroushaak_ | 83.208.175.* | 27.12.2011 21:53 | 
 | 
 | 
 | 
| | |  |  | Pokud ti jde jen o přeházení čísel, tak prostě vem pole těch čísel, generátor náhodných čísel od 0 do 8 a udělej cosi jako: 
 
 cisla = [1, 2, 3, 4, 5, 6, 7, 8, 9];
 
 n1 = nahoda(0, 8);
 n2 = nahoda(0, 8);
 
 tmp = cisla[n2];
 cisla[n2] = cisla[n1];
 cisla[n1] = tmp;
 
 Což zopakuješ třeba 10x. Snad je pochopitelné co to dělá - na začátku máš pole 9 čísel, které různě prohazuješ a ukládáš do toho samého pole přes pomocnou proměnnou.
 
 Když pak chceš pole čísel transformovat na číslo, uděláš to třeba takhle:
 
 int cislo = 0, nasobek = 1;
 for(int i = cisla.length - 1; i >= 0; i--){
 cislo = cisla * nasobek;
 nasobek = nasobek * 10;
 }
 
 Neboli cislo = cisla[0] * 10^8 + .. + cisla[8] * 10^0
 (odpovědět)
 |  | | Bystroushaak_ | 83.208.175.* | 27.12.2011 22:07 | 
 | 
 | 
 | 
| | |  |  | Cely tento thread je nejaky zkurveny a rozhazeny. Vidim jen cast tech prispevku, napr. z posledniho prispevku vidim jen: 
 "Omlouvám se za nesrozumitelnost mého dotazu,ale měl jsem nam
 
 123456789
 456789123
 452369871
 ...
 
 zkrátka, že mi to přeskupí všechny čísla, nebo prvky pole do náhod"
 
 Atp.. Vubec nevim o cem je rec a zdrojak vypada tak desive, ze z toho to fakt cist nebudu.
 
 Opera/9.80 (Windows NT 6.0; U; en) Presto/2.10.229 Version/11.60
 (odpovědět)
 |  |  | 
 | 
 | 
| | |  |  | Odstranil jsem z příspěvku s kódem BBCody, které narušovaly formátování tohoto threadu. Vím, že to není ideální řešení, ale... 
 ----------
 Teprve když vstáváte s hackingem a uléháte s myšlenkou na něj, máte šanci být hackerem.
 (odpovědět)
 |  |  | 
 | 
 | 
| | |  |  | Doporučuji ti zapnout ve stylech zalamování pre, to tenhle problém vyřeší. 
 Osobně jsem k tomu na starém webu používal:
 
 
 pre {
 white-space: pre-wrap;      /* css-3*/
 white-space: -moz-pre-wrap; /* Mozilla, since 1999*/
 white-space: -pre-wrap;     /* Opera 4-6*/
 white-space: -o-pre-wrap;   /* Opera 7*/
 word-wrap: break-word;      /* Internet Explorer 5.5+*/
 }
 
 To funguje vcelku uspokojivě prakticky všude.
 
 Další věc je, že se mi zdá, že soom krapet ustrnul ve vývoji a pěkných pár let se tu nic nezměnilo. To většinou není moc dobré.
 
 Nějaký codebox by byl o hodně vhodnější, zvýrazňování syntaxe, číslování řádků atp..
 (odpovědět)
 |  | | Bystroushaak_ | 83.208.175.* | 27.12.2011 22:17 | 
 | 
 | 
 | 
|  | 
| | |  |  | Sorry, o jeden znak to nevyšlo :S 
 To je další věc, kterou bych rád navrhl - náhledy komentářů. Dnes to má každý druhý web a docela bych to ocenil i zde.
 
 Dál navrhuji implementovat uchovávání jména nepřihlášených uživatelů v cookies, protože:
 
 a) jsem moc líný se přihlašovat
 b) jsem moc líný psát jméno pořád dokola
 c) občas v něm udělám chybu
 
 A když už jsme u toho navrhování, navrhuji založit stránku/permthread kam by se daly dávat návrhy na zlepšení :)
 (odpovědět)
 |  | | Bystroushaak_ | 83.208.175.* | 28.12.2011 1:18 | 
 | 
 | 
 | 
| | |  |  | No way, musel by se predelat cely SOOM. Nametu na vylepseni by se totiz dalo vymyslet tolik, ze by uprava stavajicich kodu SOOMu mohla docela bolet.. (odpovědět)
 |  |  | 
 | 
 | 
| | |  |  | Tak me napada.. Nebylo by lepsi postavit cely SOOM na Wordpressu? :D (odpovědět)
 |  |  | 
 | 
 | 
| | |  |  | independent: Spíš znovu :) 
 ----------
 Teprve když vstáváte s hackingem a uléháte s myšlenkou na něj, máte šanci být hackerem.
 (odpovědět)
 |  |  | 
 | 
 |