1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Ahoj, já jsem Rob, a pojďme skočit do hacker vydání Mario. 3 00:00:18,290 --> 00:00:21,760 Takže první věc, kterou musíme udělat, je si výšku od uživatele. 4 00:00:21,760 --> 00:00:26,290 Zde jsme jim s žádostí o non-záporné celé číslo menší než 24, a 5 00:00:26,290 --> 00:00:31,710 jsme pomocí funkce CS50 vezmi_int chytit, že celé číslo od uživatele. 6 00:00:31,710 --> 00:00:35,260 Vidíme, že jsme uvnitř do-while , že bude pokračovat tak dlouho, dokud opakování 7 00:00:35,260 --> 00:00:38,400 výška je větší než 23 nebo menší než 0. 8 00:00:38,400 --> 00:00:42,850 A tak budeme pokračovat, dokud uživatel vlastně nám dává to, co chceme. 9 00:00:42,850 --> 00:00:46,960 >> Jakmile budeme mít tu výšku, dostaneme se Hlavní cyklus for našeho programu. 10 00:00:46,960 --> 00:00:49,510 Takže pojďme se podívat na první příklad od pset spec. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Vidíme v tomto příkladu, že když jsme zadejte výšku 4, dolní řádek 13 00:00:56,940 --> 00:01:01,520 První vytiskne čtyři hashe, dva prostory, a další čtyři hash. 14 00:01:01,520 --> 00:01:06,280 >> Pak jeden řádek výše, která tiskne jeden prostor tři křížky dvě mezery na 15 00:01:06,280 --> 00:01:09,690 oddělit pyramidy, a pak další tři hash. 16 00:01:09,690 --> 00:01:13,460 A především to, že dva prostory, dva hashe, dva prostory, dva hashe. 17 00:01:13,460 --> 00:01:18,090 A konečně, tři prostory jedno hash, dva prostory jeden hash. 18 00:01:18,090 --> 00:01:20,980 Takže byste měli začít všímat vzor zde. 19 00:01:20,980 --> 00:01:22,545 >> Pojďme se podívat na kód, jak budeme dělat, že. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Vidíme zde, že jsme iterace přes všechny řádky pyramidy. 22 00:01:28,840 --> 00:01:31,720 Nejprve chceme vypočítat počet mezer. 23 00:01:31,720 --> 00:01:34,690 A nezapomeňte, že musíme začít u vrchol pyramidy a práce našich 24 00:01:34,690 --> 00:01:37,790 směrem dolů, protože nemůžeme tisknout Spodní pak jeden řádek nahoru a 25 00:01:37,790 --> 00:01:39,140 pak jeden řádek nahoru. 26 00:01:39,140 --> 00:01:44,030 Takže na vrcholu pyramidy, oznámení , že počet míst je roven 27 00:01:44,030 --> 00:01:45,720 výška minus 1. 28 00:01:45,720 --> 00:01:50,120 Jedeme k tisku tři mezery, jeden hash a pak dvě mezery na 29 00:01:50,120 --> 00:01:53,350 oddělené a další hash. 30 00:01:53,350 --> 00:01:57,320 >> Takže prostory se rovná výška minus řádek. 31 00:01:57,320 --> 00:02:03,180 Pokud je řádek 1 a náš výška je 4, že budeme mít tři mezery, jak chceme. 32 00:02:03,180 --> 00:02:06,900 Pak je tato pro smyčku tisky , že počet míst. 33 00:02:06,900 --> 00:02:12,630 Je-li prostor je tři, pak budeme vytvořit jednu mezeru třikrát. 34 00:02:12,630 --> 00:02:18,750 >> Pokračování, nyní chceme vytisknout hash levé pyramidy, která je 35 00:02:18,750 --> 00:02:20,630 právě roven počtu řádků. 36 00:02:20,630 --> 00:02:23,250 Při pohledu zpátky, v řadě jeden, tiskneme jeden hash. 37 00:02:23,250 --> 00:02:25,960 V druhé řadě se vytisknout dvě, v řádek tři tiskneme tři. 38 00:02:25,960 --> 00:02:30,440 Takže jsme prostě smyčka časy řádek tisk hash symbol. 39 00:02:30,440 --> 00:02:34,830 Pak pro všechny řádky pyramidy, jsme vytisknout přesně dva prostory pro oddělení 40 00:02:34,830 --> 00:02:36,360 ty pyramidy. 41 00:02:36,360 --> 00:02:39,590 >> A konečně, chceme vytisknout právo straně pyramidy, která je 42 00:02:39,590 --> 00:02:42,160 opět stejný počet hashů jako na levé straně. 43 00:02:42,160 --> 00:02:45,680 A tak je to stejné přesný pro smyčku jak je uvedeno výše zde. 44 00:02:45,680 --> 00:02:49,445 A konečně, musíme vytvořit novou linku na aby se přesunout na další řádek 45 00:02:49,445 --> 00:02:51,690 pyramidy a pokračovat v tisku. 46 00:02:51,690 --> 00:02:53,010 A to je vše. 47 00:02:53,010 --> 00:02:54,860 Jmenuji se Rob a to byl Mario. 48 00:02:54,860 --> 00:03:01,718