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