>> [Predvaja glasba]
>> ROB Bowden: To sem jaz, Rob.
Sprehodimo se skozi izkušnje izvajati Mario.
Torej prva stvar, ki jo morate storiti je, poziv uporabniku za vnos.
>> Jih moramo točno, kako vprašati visoka piramida bi morala biti.
Torej, tukaj vidimo, delamo višina = GetInt.
In ne pozabite, da je funkcija GetInt se izvaja v CS50
knjižnica, tako do vrha, moramo ne pozabite na # include cs50.h.
>> Torej, zakaj imamo to zavito v do-while zanko?
No, moramo tudi vedeti, da vhod uporabnikov mora biti veljavna.
Kaj je neveljaven vhodni?
No pset spec izrecno pravi, da višina ni manjša od 0 ali večje
kot 23, je neveljavna.
>> Torej, tukaj vidimo, da smo opredeljevanju konstanta se imenuje MAX_HEIGHT z
vrednost 23.
Ta do-while zanko bo še časa višina je manjša od 0, ali je MAX_HEIGHT
manjša od višine, kar pomeni, da 23 je manjša od višine.
Torej, če višina je 24 ali več, smo bo nadaljevala zanka.
Ne pozabite, da naredi, medtem ko zanke so precej koristno, kadar želimo, da bi dobili
Uporabnik vhod in ga nato potrditi, saj neizogibno potrebno, da od uporabnika na
Vsaj enkrat za vrednost, ki jo želite.
>> Torej, ko imamo svoj vhod, smo Zdaj lahko graditi piramide.
Eden od trikov tega problema, določenih je da moramo začeti na vrhu
piramida.
Ne, ne moreš printf dno piramide in nato graditi svojo pot navzgor.
Zato si oglejmo primer od pset spec.
>> Vidimo tukaj, da ko vstopimo v višino 8, zelo dno
piramida natisne devet hash.
Za eno stopnjo navzgor od tiska eno mesto in osem hash.
Za eno stopnjo navzgor od tega je dve prostori in sedem hash, vse dokler ne bomo
priti do vrha piramide, ki je Osem ravni navzgor, ki natisne sedem
prostori in zgoščeni vsebini.
Torej, ne pozabite, da moramo storite to najvišjo raven prvi.
>> Tukaj smo ponavljanjem od prva stopnja, vrstica 8, nadaljuje
dokler ne doseže 0 vrstica.
Torej, koliko prostorov pa moramo natisniti v tej zgornji vrstici?
Tiskani smo sedem mest in zgoščeni vsebini.
Tako število mest želimo, vrstica, ki so bili na minus 1.
>> Če je zgornja vrstica je 8, 8 minus 1 nam daje sedem mest.
Potem imamo zanko, ki bodo tiskali iz vsake vesoljske enega po enega.
Torej, ko je prostori 7, to zanko sedemkrat, tiskanje
Sedem posamezni prostori.
>> Torej sedaj moramo natisniti hash na koncu piramide.
Torej, tukaj moramo izračunati število haše.
Vidimo, da delamo višino minus vrstica plus 2.
Torej, kako smo dobili?
>> Ne pozabite, da je vrh piramide je vrstica 8, in je višina 8.
In še vedno natisnjena dva hash.
Tako vsaj, 8 minus 8 plus 2. nam daje pravi odgovor.
In potem razmisli dno piramide, vrstica 1.
Višina minus vrstica nam bo dalo 7, in Nato plus 2 nam daje devet hash,
ki je točno število za hash, da smo natisnili.
Torej je to formulo želimo uporabljajo za izračun števila
hashes v vsaki vrstici.
>> S pomočjo te številke, potem smo imeli še zanko, podoben
zanko, ki smo ga uporabili za prostore, da se ponovi število hash-krat
tiskanju enega hash vsakič.
Na zgornji vrstici, da bom tiskanje dveh hash.
Na spodnji vrstici, da bom tiskanje devet hash.
In se bo med seboj vrstica natisniti vsak število haše v med.
>> In potem na koncu, moramo natisnite našo novo linijo, da gredo na naslednjo
veslati v piramidi.
Nenazadnje moramo natisniti novo linijo konec vrstice, da bi
še naslednja vrstica piramide.
In na koncu našega programa, imamo return 0.
>> Kot je po pset spec, povratek 0 ni nujno potrebno.
Ampak to ne pomeni, da je glavni storiti.
Moje ime je Rob, in to je bil Mario.
>> [Predvaja glasba]