Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Dobrý den,
zkouším dělat jednoduché věci s Parallel.For, jelikož výpis s příkazem for je extrémně pomalý.
Pokud chci naprogramovat něco specifického, jako je " a*a + b*b = c*c ", tak si dopomůžu podmínkama jako b>a
viz.
Ale když se snažím udělat výpis všech kombinací všech čísel od 1 do MNOU zadaného čísla, tak se to seřazuje silně podivně. Nevím jestli to tak má být, nebo jestli mi něco uniká.
Výsledky jsou náhodně rozházené, jednou je to tak, příště je to onak.
LOGICKY by se mělo prvně počítat "g", pak "f" a pak "h." Nebo mi něčo uniká? Takhle by to mělo fungovat s příkazem "for"
Tady se první počítá "d", pak "b" a pak "a"
Za každou radu a připomínku budu velmi vděčný. Díky
Offline
A samozřejmě, i když se to udělá na jedné úrovni, bude to rozházené, ale ne tolik.
Nejlíp to asi udělat na nejvyšší úrovni, pak bude nejméně režie s rozházením na jednotlivá jádra. Tak jak to máš, by mě nepřekvapilo, kdyby to bylo pomalejší, než když to napíšeš klasicky.
V každém případě použití paralelizace povede k zmatkům v pořadí. A běda když budeš chtít break, nebo něco takového. Pak se může stát, že se smyčka zastaví, přestože se neprovedly všechny věci, které měly proběhnout před breakem.
Offline