1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB Bowden: Hi, saya Rob, dan mari kita melompat ke dalam edisi penggodam Mario. 3 00:00:18,290 --> 00:00:21,760 Perkara itu kita perlu lakukan ialah mendapatkan ketinggian dari pengguna. 4 00:00:21,760 --> 00:00:26,290 Di sini kita meminta mereka untuk integer bukan negatif kurang daripada 24 dan 5 00:00:26,290 --> 00:00:31,710 kita menggunakan fungsi CS50 GetInt merebut integer yang daripada pengguna. 6 00:00:31,710 --> 00:00:35,260 Kita melihat kami dalam gelung do-manakala yang akan terus menggelung selagi 7 00:00:35,260 --> 00:00:38,400 ketinggian adalah lebih besar daripada 23 atau kurang daripada 0. 8 00:00:38,400 --> 00:00:42,850 Dan dengan itu kita akan terus sehingga pengguna sebenarnya memberikan kita apa yang kita mahu. 9 00:00:42,850 --> 00:00:46,960 >> Apabila kita mempunyai ketinggian itu, kita dapat utama untuk gelung program kami. 10 00:00:46,960 --> 00:00:49,510 Jadi mari kita melihat pertama di contoh dari spec Serangga ini. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Kita lihat dalam contoh ini bahawa apabila kita memasukkan ketinggian 4, baris bawah 13 00:00:56,940 --> 00:01:01,520 pertama mencetak empat Hash, dua ruang, dan empat lagi Hash. 14 00:01:01,520 --> 00:01:06,280 >> Kemudian satu baris di atas yang mencetak satu ruang tiga Hash, dua ruang untuk 15 00:01:06,280 --> 00:01:09,690 memisahkan piramid, dan maka tiga lagi Hash. 16 00:01:09,690 --> 00:01:13,460 Dan di atas itu, dua ruang, dua Hash, dua ruang, dua Hash. 17 00:01:13,460 --> 00:01:18,090 Dan akhirnya, tiga ruang satu hash, dua ruang satu hash. 18 00:01:18,090 --> 00:01:20,980 Jadi, anda perlu mula notis corak di sini. 19 00:01:20,980 --> 00:01:22,545 >> Mari kita lihat kod untuk bagaimana kita akan berbuat demikian. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Kita lihat di sini bahawa kita iterating ke atas semua baris piramid. 22 00:01:28,840 --> 00:01:31,720 Mula-mula kita mahu untuk mengira bilangan tempat. 23 00:01:31,720 --> 00:01:34,690 Dan ingat bahawa kita perlu bermula bahagian atas piramid dan bekerja kami 24 00:01:34,690 --> 00:01:37,790 ke bawah kerana kita tidak boleh mencetak bawah kemudian satu baris ke atas dan 25 00:01:37,790 --> 00:01:39,140 maka satu baris ke atas. 26 00:01:39,140 --> 00:01:44,030 Jadi di bahagian atas piramid, notis bahawa bilangan tempat adalah sama dengan 27 00:01:44,030 --> 00:01:45,720 ketinggian tolak 1. 28 00:01:45,720 --> 00:01:50,120 Kami akan mencetak tiga ruang maka satu hash dan kemudian dua ruang untuk 29 00:01:50,120 --> 00:01:53,350 berasingan dan hash lain. 30 00:01:53,350 --> 00:01:57,320 >> Jadi ruang adalah sama dengan ketinggian tolak berturut-turut. 31 00:01:57,320 --> 00:02:03,180 Jika baris itu adalah 1 dan ketinggian kita adalah 4, yang akan memberikan kita 3 ruang, seperti yang kita mahu. 32 00:02:03,180 --> 00:02:06,900 Maka ini untuk gelung hanya cetakan bahawa bilangan ruang. 33 00:02:06,900 --> 00:02:12,630 Jika ruang adalah tiga, maka kita akan mewujudkan ruang tunggal tiga kali. 34 00:02:12,630 --> 00:02:18,750 >> Berterusan, sekarang kita mahu untuk mencetak Hash piramid kiri, yang merupakan 35 00:02:18,750 --> 00:02:20,630 hanya sama dengan bilangan baris. 36 00:02:20,630 --> 00:02:23,250 Mengimbas kembali di sini, berturut-turut satu, kita mencetak satu hash. 37 00:02:23,250 --> 00:02:25,960 Berturut-turut dua kita cetak dua, dalam berturut-turut tiga kita cetak tiga. 38 00:02:25,960 --> 00:02:30,440 Kali berturut-turut itu, kita hanya gelung percetakan simbol hash. 39 00:02:30,440 --> 00:02:34,830 Kemudian untuk semua baris piramid, kita mencetak tepat dua ruang untuk memisahkan 40 00:02:34,830 --> 00:02:36,360 mereka piramid. 41 00:02:36,360 --> 00:02:39,590 >> Dan akhirnya, kita ingin mencetak kanan sisi piramid, yang merupakan 42 00:02:39,590 --> 00:02:42,160 lagi jumlah yang sama Hash sebagai sebelah kiri. 43 00:02:42,160 --> 00:02:45,680 Dan jadi ia sama yang tepat untuk gelung seperti di atas di sini. 44 00:02:45,680 --> 00:02:49,445 Akhir sekali, kita perlu mewujudkan satu barisan baru dalam untuk bergerak ke baris seterusnya 45 00:02:49,445 --> 00:02:51,690 piramid dan terus percetakan. 46 00:02:51,690 --> 00:02:53,010 Dan itu sahaja. 47 00:02:53,010 --> 00:02:54,860 Nama saya Rob dan ini adalah Mario. 48 00:02:54,860 --> 00:03:01,718