1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Hei, olen Rob, ja lähdetään hypätä osaksi hakkeri painos Mario. 3 00:00:18,290 --> 00:00:21,760 Joten ensimmäinen asia, meidän täytyy tehdä, on saada korkeus käyttäjälle. 4 00:00:21,760 --> 00:00:26,290 Täällä pyydämme heitä ei-negatiivinen kokonaisluku alle 24 ja 5 00:00:26,290 --> 00:00:31,710 käytämme CS50 GetInt toiminto napata että kokonaisluku käyttäjä. 6 00:00:31,710 --> 00:00:35,260 Näemme olemme sisällä do-while-silmukka joka jatkuu silmukoiden niin kauan kuin 7 00:00:35,260 --> 00:00:38,400 korkeus on suurempi kuin 23 tai alle 0. 8 00:00:38,400 --> 00:00:42,850 Ja niin me jatkuttava, kunnes käyttäjä todella antaa meille mitä haluamme. 9 00:00:42,850 --> 00:00:46,960 >> Kun meillä on tuo korkeus, saamme tärkein silmukan meidän ohjelman. 10 00:00:46,960 --> 00:00:49,510 Joten ensin katsoa esimerkiksi alkaen PSET spec. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Näemme tässä esimerkissä, että kun me Kirjoita korkeus 4, alarivissä 13 00:00:56,940 --> 00:01:01,520 Ensimmäinen tulostaa neljä hash, kaksi paikkaa, ja neljä tiivisteiden. 14 00:01:01,520 --> 00:01:06,280 >> Sitten yksi rivi yläpuolelle, joka tulostaa yhden tilaa kolme hash, kaksi paikkaa 15 00:01:06,280 --> 00:01:09,690 erillään pyramidit, ja sitten kolme lisää tiivisteiden. 16 00:01:09,690 --> 00:01:13,460 Ja ennen, että kaksi paikkaa, kaksi hash, kaksi paikkaa, kaksi hash. 17 00:01:13,460 --> 00:01:18,090 Ja lopuksi kolme tilat yksi hash, kaksi paikkaa yhden hash. 18 00:01:18,090 --> 00:01:20,980 Joten sinun pitäisi alkaa huomata kuvio täällä. 19 00:01:20,980 --> 00:01:22,545 >> Katsotaanpa koodi miten aiomme tehdä sen. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Näemme tässä, että olemme iteroimalla yli kaikki rivit pyramidin. 22 00:01:28,840 --> 00:01:31,720 Ensin halutaan laskea paikkojen määrää. 23 00:01:31,720 --> 00:01:34,690 Ja muistaa, että meidän on aloitettava Pyramidin huipulla ja jatketaan 24 00:01:34,690 --> 00:01:37,790 alas koska emme voi tulostaa bottom sitten yksi rivi ylös ja 25 00:01:37,790 --> 00:01:39,140 sitten yksi rivi ylös. 26 00:01:39,140 --> 00:01:44,030 Joten pyramidin huippua, ilmoitus että paikkojen lukumäärä on yhtä suuri kuin 27 00:01:44,030 --> 00:01:45,720 korkeus miinus 1. 28 00:01:45,720 --> 00:01:50,120 Aiomme tulostaa kolme tilat sitten yksi hash ja sitten kaksi paikkaa 29 00:01:50,120 --> 00:01:53,350 erillinen ja toinen hash. 30 00:01:53,350 --> 00:01:57,320 >> Joten tilat on yhtä korkeus miinus rivi. 31 00:01:57,320 --> 00:02:03,180 Jos rivi on 1, ja meidän korkeus on 4, että annan meille 3 tilat, koska haluamme. 32 00:02:03,180 --> 00:02:06,900 Sitten tämä silmukka vain tulosteita että paikkojen määrää. 33 00:02:06,900 --> 00:02:12,630 Jos tilat on kolme, niin aiomme luoda yksi välilyönti kolme kertaa. 34 00:02:12,630 --> 00:02:18,750 >> Jatkuvat, nyt haluamme tulostaa hash vasemman pyramidi, joka on 35 00:02:18,750 --> 00:02:20,630 vain yhtä rivin numero. 36 00:02:20,630 --> 00:02:23,250 Katse takaisin, rivillä yksi, me painamme yksi hash. 37 00:02:23,250 --> 00:02:25,960 Rivillä kaksi me painamme kaksi, vuonna rivi kolme me painamme kolme. 38 00:02:25,960 --> 00:02:30,440 Joten emme yksinkertaisesti silmukan rivi kertaa tulostus hash symboli. 39 00:02:30,440 --> 00:02:34,830 Sitten kaikki rivit pyramidin, me tulostaa täsmälleen kaksi välilyöntejä erottaaksesi 40 00:02:34,830 --> 00:02:36,360 nämä pyramidit. 41 00:02:36,360 --> 00:02:39,590 >> Ja lopuksi, me haluamme tulostaa oikea puolelle pyramidi, joka on 42 00:02:39,590 --> 00:02:42,160 jälleen sama määrä hash kuin vasemmalla puolella. 43 00:02:42,160 --> 00:02:45,680 Ja niin se on täsmälleen sama silmukka kuten edellä täällä. 44 00:02:45,680 --> 00:02:49,445 Lopuksi, meidän on luotava uusi linja Jotta siirtyä seuraavan rivin 45 00:02:49,445 --> 00:02:51,690 pyramidi ja jatkaa tulostusta. 46 00:02:51,690 --> 00:02:53,010 Ja se on siinä. 47 00:02:53,010 --> 00:02:54,860 Nimeni on Rob ja tämä oli Mario. 48 00:02:54,860 --> 00:03:01,718