>> ROB BOWDEN: Sveiki, aš esu Robas, ir tegul šuolis į hacker leidimas Mario.
Taigi pirmas dalykas, kurį reikia padaryti, tai gauti aukštį nuo naudotojo.
Čia mes prašome juos ne neigiamas sveikasis skaičius mažesnis kaip 24 ir
mes naudojame CS50 GetInt funkciją patraukti, kad sveikasis skaičius nuo naudotojo.
Matome mes viduje do-while cikle kad ir toliau bus padarę tiek, kiek
aukštis yra didesnis nei 23 arba mažesnis už 0.
Ir todėl mes ir toliau, kol vartotojas faktiškai suteikia mums tai, ką norime.
>> Kai mes turime tą aukštį, mes turime Pagrindinis Ciklas mūsų programą.
Taigi, tegul pirmas pažvelgti pavyzdys iš pset spec.
Mes matome, kad šiame pavyzdyje, kai mes įvesti 4 aukščio, apatinėje eilutėje
pirmasis spausdina keturis maišas, dviejų skyrių, ir dar keturios maišos.
>> Tada vieną eilutę aukščiau, kad spausdina vieną kosmoso trys maišos, du tarpus
atskirti piramides, ir dar trys maišos.
Ir aukščiau, kad dvi erdves, du maišos, dvi erdves, du maišos.
Ir, pagaliau, trys skyriai, vienas maišos, dviejų skyrių, vienas maišos.
Taigi, jūs turėtumėte pastebėti modelis čia.
>> Pažvelkime į kodą kaip mes ketiname daryti.
Čia mes matome, kad mes Iteracja per visus piramidės eilučių.
Pirmiausia mes norime apskaičiuoti vietų skaičių.
Ir atminkite, kad mes turime pradėti piramidės viršuje ir dirbti mūsų
galo, nes mes negalime spausdinti apačioje po vieną eilutę aukštyn ir
tada per vieną eilutę aukštyn.
Taigi prie piramidės, pranešime viršuje kad vietų skaičius yra lygus
aukštis minus 1.
Mes ketiname spausdinti tris erdves, tada vienas maišos ir tada du erdvių
atskira ir kita maišos.
>> Taigi tarpai yra lygūs aukštis atėmus eilutę.
Jei eilutė yra 1 ir mūsų aukštis yra 4, kad bus mums 3 erdves, kaip mes norime.
Tai už kilpos tik nuotraukas kad vietų skaičių.
Jei tarpai yra trys, tada mes ketiname sukurti vieną erdvę tris kartus.
>> Tęstinis, dabar mes norime spausdinti hashes kairėje piramidės, kuri yra
tiesiog lygios eilutės numerį.
Žvelgiant atgal čia, eilės vienas, mes spausdinti vieną maišą.
Antroje eilutėje mes spausdinti du, į trys eilutės mes spausdinti tris.
Taigi mes tiesiog kilpa eilės kartų spausdinimas grotelėmis.
Tada visiems piramidės eilučių, mes spausdinti lygiai du tarpus, kad atskirtumėte
tos piramidės.
>> Ir pagaliau, mes norime spausdinti teisę pusė piramidės, kuri yra
vėl tą patį skaičių masyvus kaip kairėje pusėje.
Ir todėl lygiai tas pats už linijos, kaip nurodyta aukščiau čia.
Galiausiai, mes turime sukurti naują eilutę Siekiant pereiti į kitą eilutę
piramidės ir tęsti spausdinimą.
Štai ir viskas.
Mano vardas yra Rob ir tai buvo Mario.