1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Tere, ma olen Rob ja olgem hüpata arvesse häkker väljaanne Mario. 3 00:00:18,290 --> 00:00:21,760 Nii et esimene asi, mida me peame tegema, on saada kõrgus kasutaja. 4 00:00:21,760 --> 00:00:26,290 Siin me küsime neid mittenegatiivne täisarv vähem kui 24 ja 5 00:00:26,290 --> 00:00:31,710 me kasutame CS50 GetInt funktsioon haarata, et täisarv kasutaja. 6 00:00:31,710 --> 00:00:35,260 Me näeme, et oleme sees do-kui ahela et jätkab silmukoiminen niikaua 7 00:00:35,260 --> 00:00:38,400 kõrgus on suurem kui 23 või vähem kui 0. 8 00:00:38,400 --> 00:00:42,850 Ja nii me kuni kasutaja tegelikult annab meile, mida me tahame. 9 00:00:42,850 --> 00:00:46,960 >> Kui meil on see kõrgus, saame peamine silmus meie programmi. 10 00:00:46,960 --> 00:00:49,510 Nii et esimene pilk näiteks alates pset spec. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Me näeme seda näiteks, et kui me sisestage kõrgus 4, alumises reas 13 00:00:56,940 --> 00:01:01,520 Esimene prindib neli hashes, kaks sammu, ja veel neli hashes. 14 00:01:01,520 --> 00:01:06,280 >> Siis üks rida eespool, et prindib ühe ruum kolm hashes, kaks ruumid 15 00:01:06,280 --> 00:01:09,690 eraldi püramiide, ja seejärel veel kolm hashes. 16 00:01:09,690 --> 00:01:13,460 Ja eelkõige, et kaks sammu, kaks hashes kaks sammu, kaks hashes. 17 00:01:13,460 --> 00:01:18,090 Ja lõpuks, kolm tühikuid ühe hash, kaks sammu üks räsi. 18 00:01:18,090 --> 00:01:20,980 Nii et te peaksite täheldama muster siin. 19 00:01:20,980 --> 00:01:22,545 >> Vaatame kood kuidas me teeme seda. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Me näeme siin, et me iterating üle kõigi ridade püramiidi. 22 00:01:28,840 --> 00:01:31,720 Esiteks tahame arvutada kohtade arv. 23 00:01:31,720 --> 00:01:34,690 Ja pidage meeles, et meil tuleb alustada püramiidi tipus ja töötavad meie 24 00:01:34,690 --> 00:01:37,790 tee alla, sest me ei saa printida alt siis üks rida üles ja 25 00:01:37,790 --> 00:01:39,140 siis üks rida üles. 26 00:01:39,140 --> 00:01:44,030 Nii ülaosas püramiidi teade et kohtade arv on võrdne 27 00:01:44,030 --> 00:01:45,720 kõrgus miinus 1. 28 00:01:45,720 --> 00:01:50,120 Me printida kolm ruumid siis üks hash ja siis kaks ruumid 29 00:01:50,120 --> 00:01:53,350 eraldi ja teise räsi. 30 00:01:53,350 --> 00:01:57,320 >> Nii ruumid on võrdne kõrgus miinus rida. 31 00:01:57,320 --> 00:02:03,180 Kui rida on 1 ja meie kõrgus on 4, et annan meile 3 ruumi, nagu me tahame. 32 00:02:03,180 --> 00:02:06,900 Siis see silmus lihtsalt pildid et mitu sammu. 33 00:02:06,900 --> 00:02:12,630 Kui ruumid on kolm, siis me läheme luua ühtne ruum kolm korda. 34 00:02:12,630 --> 00:02:18,750 >> Jätkuv, nüüd me tahame prindi räsisid vasakul püramiid, mis on 35 00:02:18,750 --> 00:02:20,630 lihtsalt võrdne rea number. 36 00:02:20,630 --> 00:02:23,250 Vaadates tagasi, reas üks, me trükkida üks räsi. 37 00:02:23,250 --> 00:02:25,960 Reas kaks me printida kaheks, reas kolm me printida kolm. 38 00:02:25,960 --> 00:02:30,440 Nii et me lihtsalt loop rida korda trükkimine hash sümbol. 39 00:02:30,440 --> 00:02:34,830 Siis kõik read püramiidi me printida täpselt kaks ruumid eraldi 40 00:02:34,830 --> 00:02:36,360 need püramiidid. 41 00:02:36,360 --> 00:02:39,590 >> Ja lõpuks, me tahame prindi õigus küljel püramiid, mis on 42 00:02:39,590 --> 00:02:42,160 jälle sama arvu hashes kui vasakule küljele. 43 00:02:42,160 --> 00:02:45,680 Ja nii see on täpselt sama loop nagu eespool siin. 44 00:02:45,680 --> 00:02:49,445 Lõpuks peame looma uue liini Selleks et liikuda edasi järgmise rea 45 00:02:49,445 --> 00:02:51,690 püramiid ja jätkake printimist. 46 00:02:51,690 --> 00:02:53,010 Ja ongi kõik. 47 00:02:53,010 --> 00:02:54,860 Minu nimi on Rob ja see oli Mario. 48 00:02:54,860 --> 00:03:01,718