Avatar
Neaktivní uživatel:

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. října 10:03
Neaktivní uživatelský účet
Avatar
HONZ4
Člen
Avatar
Odpovídá na Neaktivní uživatel
HONZ4:

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

Editováno 30. října 10:18
 
Nahoru Odpovědět  +1 30. října 10:18
Avatar
Neaktivní uživatel:
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. října 10:25
Neaktivní uživatelský účet
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Martin Dráb:

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  +2 30. října 12:34
2 + 2 = 5 for extremely large values of 2
Avatar
HONZ4
Člen
Avatar
Odpovídá na Neaktivní uživatel
HONZ4:

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. října 21:31
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Neaktivní uživatel
DarkCoder:

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. října 3:02
Avatar
Odpovídá na Neaktivní uživatel
don.jarducius:

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. listopadu 21:33
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Neaktivní uživatel
patrik.valkovic:

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  +1 2. listopadu 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.