[Musiikki soi] ROB BOWDEN: Se olen minä, Rob. Käydään läpi miten toteuttaa Mario. Joten ensimmäinen asia, meidän täytyy tehdä, on pyytää käyttäjältä syötettä. Meidän täytyy kysyä heiltä, ​​miten pitkä pyramidin pitäisi olla. Joten tässä näemme teemme height = GetInt. Ja muista, että GetInt toiminto toteutetaan CS50 kirjasto, niin ylös, meidän täytyy Muistathan # include cs50.h. Joten miksi meillä on tämä kääritään tee-while-silmukka? No, meidän on myös muistettava, että käyttäjän syötteen on oltava voimassa. Mikä on virheellisen syötteen? No PSET spec nimenomaan sanoo että korkeus pienempi kuin 0 tai suurempi kuin 23 ei kelpaa. Joten tänne, näemme, että olemme määritellään jatkuva kutsutaan max_height kanssa arvo 23. Tämä do-while-silmukka jatkuu taas korkeus on pienempi kuin 0 tai max_height on pienempi kuin korkeus, mikä tarkoittaa sitä, että 23 on pienempi kuin sen korkeus. Joten jos korkeus on 24 tai enemmän, olemme tulee jatkumaan silmukoiden. Muista, että tee-vaikka silmukat ovat melko hyödyllistä kun haluamme saada käyttäjä syöttää ja vahvistaa sitä, koska me väistämättä täytyy kysyä käyttäjälle vähintään kerran arvon he haluavat. Joten kun meillä on heidän panostaan, me voi nyt rakentaa pyramidin. Yksi temppuja tämän ongelman asettaa on että meidän on aloitettava yläreunassa pyramidi. Ei voi printf pohjaan pyramidi ja sitten rakentaa ylös. Joten katsokaamme esimerkki alkaen PSET spec. Näemme tässä, että kun astumme korkeus 8, hyvin pohjassa pyramidi tulostaa yhdeksän tiivisteiden. Yksi taso ylös tulostavalla yksi välilyönti ja kahdeksan tiivisteiden. Yksi taso ylös, että on kaksi paikkaa ja seitsemän hash, aina kunnes me päästä pyramidin huippua, joka on kahdeksan tasoa ylös, joka tulostaa seitsemän tilat ja kaksi hash. Niin muista, että meidän on tehdä tämän huipputason ensin. Täällä olemme iteroimalla alkaen huipputason, rivi 8, jatkuvat kunnes rivi saavuttaa 0. Eli kuinka monta tilat Tarvitsimmeko tulostaa että ylärivissä? Me painettu seitsemän tilat ja kaksi tiivisteiden. Joten paikkojen määrää haluamme rivi, jotka olivat miinus 1. Jos ylärivi on 8, 8 miinus 1 antaa meille seitsemän tilat. Sitten meillä on silmukka, joka tulostaa out jokainen tila yksi kerrallaan. Joten kun tilat on 7, tämän silmukan seitsemän kertaa, tulostus seitsemän yksittäistä tilat. Joten nyt meidän täytyy tulostaa nämä hash lopussa pyramidin. Joten tässä, meidän täytyy laskea Määrä tiivisteitä. Näemme, että teemme korkeus miinus rivi plus 2. Joten miten saamme sen? Muista, että pyramidin huippu on rivi 8, ja korkeus on 8. Ja vielä painettu kaksi hash. Joten ainakin, 8 miinus 8 plus 2 antaa meille oikea vastaus. Ja sitten harkita pohja Pyramidin, 1. krs. Korkeus miinus rivi antaa meille 7, ja sitten plus 2 antaa meille yhdeksän hash, joka on täsmälleen numero tiivisteitä että me painettu. Joten tämä on kaava haluamme käyttää määrän laskeminen hash kussakin rivissä. Käyttämällä että määrä, meillä on sitten toinen silmukka, hyvin samankaltainen silmukan että käytimme tiloihin, että toistetaan Määrä tiivisteitä kertaa tulostus yhden hash joka kerta. Ylimmällä rivillä, että saat tulostaa kaksi tiivisteiden. Alarivillä, että saat tulostaa yhdeksän tiivisteiden. Ja jokainen krs tulostaa joka Määrä tiivisteitä välillä. Ja sitten aivan lopussa, meidän täytyy tulostaa uusi linja siirtyä seuraavaan Rivi pyramidin. Lopuksi, meidän täytyy tulostaa uuden linjan lopussa rivin, jotta jatka seuraavaan rivi pyramidi. Ja lopussa meidän ohjelma, meillä return 0. Kuten kohti PSET spec, paluu 0 ei ole välttämätöntä. Mutta se ei merkitse, että tärkein on tehty. Nimeni on Rob, ja tämä oli Mario. [Musiikki soi]