[MUSIC PŘEHRÁVÁNÍ] ROB BOWDEN: To jsem já, Rob. Pojďme se projít how realizovat Mario. Takže první věc, kterou musíme udělat, je vyzve uživatele k zadání vstupu. Musíme se jich zeptat, jak přesně vysoká pyramida by měla být. Takže tady vidíme, děláme height = vezmi_int. A nezapomeňte, že funkce vezmi_int je realizován v CS50 knihovny, tak až nahoře, musíme nezapomeňte # include cs50.h. Tak proč jsme to zabalil v do-while? No, musíme také uvědomit, že vstup uživatele musí být platná. Co je neplatný vstup? No pset spec výslovně říká, že výška menší než 0 nebo větší než 23 je neplatná. Takže tady vidíme, že jsme definování konstantní tzv. MAX_HEIGHT s hodnota 23. Tato do-while bude pokračovat chvíli výška je menší než 0 nebo je MAX_HEIGHT menší, než je výška, což znamená, že 23 je menší než výška. Takže pokud výška je 24 nebo vyšší, jsme bude pokračovat opakování. Nezapomeňte, že do-while jsou velmi užitečné, kdykoli chceme, aby se vstup uživatele a pak jej ověřit, jelikož nevyhnutelně nutné požádat uživatele na alespoň jednou za hodnoty, které chcete. Takže jakmile budeme mít svůj vstup, jsme Nyní můžete postavit pyramidu. Jedním z triků tohoto problému uvedené je že musíme začít na vrcholu pyramida. Nemůžete printf dno pyramidy a pak stavět svou cestu nahoru. Takže pojďme se podívat na příklad od pset spec. Vidíme zde, že když jsme se vstoupit na výšku z 8., velmi dno pyramida vytiskne devět hashe. O úroveň výš z toho tiskne jeden prostor a osm hash. O úroveň výš z toho jsou dvě mezery a sedm hashe, celou cestu, dokud se se na vrchol pyramidy, která je osm úrovní up, který vytiskne sedm prostory a dva hashe. Takže nezapomeňte, že musíme udělat jako první tuto špičkovou úroveň. Zde jsme iterace od nejvyšší úrovni, řada 8, pokračování do řádku dosáhne 0.. Tak kolik míst se musíme tisknout v tom horním řádku? Vytisknout jsme sedm míst a dva hashe. Takže počet míst chceme je řádek, který byl na mínus 1. Pokud horní řada je 8, 8 mínus 1 nám dává sedm míst. Pak máme smyčku, která se bude tisknout z každého prostoru jeden po druhém. Takže když prostory je 7, tato smyčka sedmkrát, tisk Sedm jednotlivé prostory. Takže teď musíme vytisknout tyto hashe na konci pyramidy. Tak tady, musíme počítat počet hashů. Vidíme, že děláme výšku minus řádek a 2. Tak jak jsme se dostali, že? Pamatujte si, že vrchol pyramidy je řádek 8 a výška 8. A stále vytisknout dvě hodnoty hash. Tak alespoň, 8 mínus 8 a 2 nám dává správnou odpověď. A pak zváží na dno pyramidy, řádek 1. Výška minus řádek nám dá 7, a pak navíc 2 nám dává devět hashe, což je přesně číslo z hashe, že jsme vytiskli. Tak to je vzorec chceme použít pro výpočet počtu hash v každém řádku. Pomocí tohoto čísla, pak jsme si další pro smyčce, velmi podobné pro smyčky, která se používá pro prostory, že iterace počet hashů časů tisk jednoho Hash pokaždé. Na horním řádku, která bude vytisknout dvě hodnoty hash. Na spodním řádku, která bude vytisknout devět hashe. A každý druhý řádek bude tisknout každý počet hashů mezi nimi. A pak na samém konci, musíme vytisknout naši novou linku jít na další řádek v pyramidě. A konečně, musíme vytisknout nový řádek na konci řádku, aby se pokračovat další řádek pyramidy. A na konci našeho programu, máme return 0. Jak na pset spec, návrat 0, není nezbytně nutné. Ale to znamenat, že hlavní je hotovo. Jmenuji se Rob, a to byl Mario. [MUSIC PŘEHRÁVÁNÍ]