vb.net - kombinace

HackForum

vb.net - kombinace#
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)
Rconix | E-mail26.12.2011 22:42
re: vb.net - kombinace#
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
re: vb.net - kombinace#
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
re: vb.net - kombinace#
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
re: vb.net - kombinace#
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)
Rconix | E-mail27.12.2011 18:42
re: vb.net - kombinace#
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
re: vb.net - kombinace#
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
re: vb.net - kombinace#
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)
independent | E-mail27.12.2011 19:24
re: vb.net - kombinace#
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)
.cCuMiNn. | E-mail | Website | PGP27.12.2011 21:27
re: vb.net - kombinace#
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
re: vb.net - kombinace#
Ja to mam rozhazene porad :D
(odpovědět)
independent | E-mail27.12.2011 22:37
re: vb.net - kombinace#
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
re: vb.net - kombinace#
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)
independent | E-mail28.12.2011 18:32
re: vb.net - kombinace#
Tak me napada.. Nebylo by lepsi postavit cely SOOM na Wordpressu? :D
(odpovědět)
independent | E-mail28.12.2011 18:34
re: vb.net - kombinace#
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)
.cCuMiNn. | E-mail | Website | PGP27.12.2011 22:44

Zpět
 
 
 

 
BBCode