NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Neaktivní uživatel:30.10.2016 10:03

Ahoj,
začínám s Céčkem a mám, nejspíše, triviální problém. Projíždím hodnoty ve 4 cyklech, je-li splněna podmínka. Přičemž tam mám nastavený čítač, který je explicitně nastaven na 1. Z těch 4 cyklů mi nakonec vzniknou 2 různé hodnoty a ty pak porovnávám.
Problém nastává, když jedna sada těch podmínek není splněna a stejně pak dostanu hodnotu vycházející z těch nastavených jedniček, což nevím, jak ošetřit, přímo za tou podmínkou ty hodnoty nastavit nemůžu, jelikož následující výpočet očekává, že mu tam ty hodnoty donesu.

Děkuji za případné odpovědi :)

Odpovědět
30.10.2016 10:03
Neaktivní uživatelský účet
Avatar
HONZ4
Člen
Avatar
Odpovídá na Neaktivní uživatel
HONZ4:30.10.2016 10:18

Bylo by dobré sem dát ukázku.

Editováno 30.10.2016 10:18
 
Nahoru Odpovědět
30.10.2016 10:18
Avatar
Neaktivní uživatel:30.10.2016 10:25
if (pozadovany_rozmer_a > zadany_rozmer_b) {
    rozmer_b = zadany_rozmer_b;
    while (pozadovany_rozmer_a > rozmer_b) {
        pocet_latek_b2++;
        rozmer_b = rozmer_b + (zadany_rozmer_b - prekryv);
    }
}
if (pozadovany_rozmer_b > zadany_rozmer_a) {
    rozmer_a = zadany_rozmer_a;
    while (pozadovany_rozmer_b > rozmer_a) {
        pocet_latek_a2++;
        rozmer_a = rozmer_a + (zadany_rozmer_a - prekryv);
    }
}
pocet_latek_1 = pocet_latek_a*pocet_latek_b;
pocet_latek_2 = pocet_latek_a2*pocet_latek_b2;

if (pocet_latek_1 > pocet_latek_2){
    pocet_latek= pocet_latek_2;
}
if(pocet_latek_2>=pocet_latek_1){
    pocet_latek=pocet_latek_1;
}

return pocet_latek;
  • tam mám pak ty samé cykly, které porovnávají strany obráceně
Nahoru Odpovědět
30.10.2016 10:25
Neaktivní uživatelský účet
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Martin Dráb:30.10.2016 12:34

Kdyžtak ještě napiš, jakou úlohu má tvůj kód plnit (tzn. jaký problém má vyřešit), protože to (alespoň pro mě) z kódu není poznat (což neznamená, že kód je špatný).

Nahoru Odpovědět
30.10.2016 12:34
2 + 2 = 5 for extremely large values of 2
Avatar
HONZ4
Člen
Avatar
Odpovídá na Neaktivní uživatel
HONZ4:30.10.2016 21:31

z této ukázky se dá vyčíst pouze to, že používáš cykly, kde nejsou potřeba. Místo použitého while, stačí vypočítat rozdíl mezi položkami, které porovnáváš, a s ním pracovat.

 
Nahoru Odpovědět
30.10.2016 21:31
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Neaktivní uživatel
DarkCoder:31.10.2016 3:02

To vypadá jako program počítající množství látek potřebné pro ušití oděvu. Jak už tu bylo řečeno, bylo by dobré popsat co konkrétně má program dělat, nemohu úplně najít souvislost mezi položeným dotazem a fragmentem kódu. Předně by to chtělo sem vložit kompletní kód spolu s inicializační částí. Určitě by stálo za zváženou výstižnější popis identifikátorů, působí to matoucím dojmem. Nevidím tam, co se stane, budou-li požadované rozměry menší nebo rovny než zadané.

Nahoru Odpovědět
31.10.2016 3:02
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovídá na Neaktivní uživatel
don.jarducius:1.11.2016 21:33

Souhlasím s tím, že cykly jsou tady úplně mimo. Zkus na to jít matematicky ...
Hledáš 4x výsledek pro rovnici o 1 neznámé.

Nahoru Odpovědět
1.11.2016 21:33
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Odpovídá na Neaktivní uživatel
Patrik Valkovič:2.11.2016 9:36

Neřešil bych progtestové úlohy na veřejných sítích - někdo to zkopíruje (určitě to někdo zkopíruje) a budeš mít zbytečně strhnuté body nebo půjdeš na přezkoušení.

Nahoru Odpovědět
2.11.2016 9:36
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.