>> ROB BOWDEN: Hei, olen Rob, ja lähdetään hypätä osaksi hakkeri painos Mario.
Joten ensimmäinen asia, meidän täytyy tehdä, on saada korkeus käyttäjälle.
Täällä pyydämme heitä ei-negatiivinen kokonaisluku alle 24 ja
käytämme CS50 GetInt toiminto napata että kokonaisluku käyttäjä.
Näemme olemme sisällä do-while-silmukka joka jatkuu silmukoiden niin kauan kuin
korkeus on suurempi kuin 23 tai alle 0.
Ja niin me jatkuttava, kunnes käyttäjä todella antaa meille mitä haluamme.
>> Kun meillä on tuo korkeus, saamme tärkein silmukan meidän ohjelman.
Joten ensin katsoa esimerkiksi alkaen PSET spec.
Näemme tässä esimerkissä, että kun me Kirjoita korkeus 4, alarivissä
Ensimmäinen tulostaa neljä hash, kaksi paikkaa, ja neljä tiivisteiden.
>> Sitten yksi rivi yläpuolelle, joka tulostaa yhden tilaa kolme hash, kaksi paikkaa
erillään pyramidit, ja sitten kolme lisää tiivisteiden.
Ja ennen, että kaksi paikkaa, kaksi hash, kaksi paikkaa, kaksi hash.
Ja lopuksi kolme tilat yksi hash, kaksi paikkaa yhden hash.
Joten sinun pitäisi alkaa huomata kuvio täällä.
>> Katsotaanpa koodi miten aiomme tehdä sen.
Näemme tässä, että olemme iteroimalla yli kaikki rivit pyramidin.
Ensin halutaan laskea paikkojen määrää.
Ja muistaa, että meidän on aloitettava Pyramidin huipulla ja jatketaan
alas koska emme voi tulostaa bottom sitten yksi rivi ylös ja
sitten yksi rivi ylös.
Joten pyramidin huippua, ilmoitus että paikkojen lukumäärä on yhtä suuri kuin
korkeus miinus 1.
Aiomme tulostaa kolme tilat sitten yksi hash ja sitten kaksi paikkaa
erillinen ja toinen hash.
>> Joten tilat on yhtä korkeus miinus rivi.
Jos rivi on 1, ja meidän korkeus on 4, että annan meille 3 tilat, koska haluamme.
Sitten tämä silmukka vain tulosteita että paikkojen määrää.
Jos tilat on kolme, niin aiomme luoda yksi välilyönti kolme kertaa.
>> Jatkuvat, nyt haluamme tulostaa hash vasemman pyramidi, joka on
vain yhtä rivin numero.
Katse takaisin, rivillä yksi, me painamme yksi hash.
Rivillä kaksi me painamme kaksi, vuonna rivi kolme me painamme kolme.
Joten emme yksinkertaisesti silmukan rivi kertaa tulostus hash symboli.
Sitten kaikki rivit pyramidin, me tulostaa täsmälleen kaksi välilyöntejä erottaaksesi
nämä pyramidit.
>> Ja lopuksi, me haluamme tulostaa oikea puolelle pyramidi, joka on
jälleen sama määrä hash kuin vasemmalla puolella.
Ja niin se on täsmälleen sama silmukka kuten edellä täällä.
Lopuksi, meidän on luotava uusi linja Jotta siirtyä seuraavan rivin
pyramidi ja jatkaa tulostusta.
Ja se on siinä.
Nimeni on Rob ja tämä oli Mario.