>> ROB Bowden: Hi, saya Rob, dan mari kita melompat ke edisi hacker dari Mario.
Jadi hal pertama yang perlu kita lakukan adalah mendapatkan ketinggian dari pengguna.
Di sini kita meminta mereka untuk bilangan bulat non-negatif kurang dari 24 dan
kita menggunakan fungsi CS50 getInt untuk mengambil integer yang dari pengguna.
Kita melihat kita di dalam loop do-while yang akan terus perulangan selama
tinggi lebih besar dari 23 atau kurang dari 0.
Dan kami akan terus sampai pengguna benar-benar memberikan apa yang kita inginkan.
>> Setelah kita memiliki ketinggian itu, kita bisa utama untuk loop dari program kami.
Jadi mari kita pertama melihat contoh dari pset spec.
Kita melihat dalam contoh ini bahwa ketika kita masukkan ketinggian 4, baris bawah
pertama mencetak empat hash, dua ruang, dan empat hash.
>> Kemudian satu baris di atas yang mencetak satu ruang tiga hash, dua spasi untuk
memisahkan piramida, dan kemudian tiga hash.
Dan di atas itu, dua ruang, dua hash, dua ruang, dua hash.
Dan akhirnya, tiga ruang satu hash, dua ruang satu hash.
Jadi, Anda harus mulai melihat pola di sini.
>> Mari kita lihat kode untuk bagaimana kita akan melakukan itu.
Kita lihat di sini bahwa kita iterasi atas semua baris piramida.
Pertama kita ingin menghitung jumlah ruang.
Dan ingat bahwa kita harus mulai puncak piramida dan bekerja kami
jalan ke bawah karena kita tidak bisa mencetak bawah kemudian satu baris dan
kemudian satu baris up.
Jadi di bagian atas piramida, pemberitahuan bahwa jumlah ruang adalah sama dengan
tinggi dikurangi 1.
Kita akan mencetak tiga ruang kemudian satu hash dan kemudian dua spasi untuk
terpisah dan hash lain.
>> Jadi ruang adalah sama dengan tinggi dikurangi baris.
Jika baris adalah 1 dan tinggi kita adalah 4, yang akan memberi kita ruang 3, seperti yang kita inginkan.
Maka ini untuk loop hanya mencetak bahwa jumlah ruang.
Jika ruang adalah tiga, maka kita akan menciptakan satu ruang tiga kali.
>> Melanjutkan, sekarang kita ingin mencetak hash piramida kiri, yang
hanya sama dengan jumlah baris.
Melihat kembali ke sini, berturut-turut satu, kami mencetak satu hash.
Di baris kedua kami mencetak dua, di baris tiga kami mencetak tiga.
Baris jadi kami hanya loop kali simbol hash pencetakan.
Kemudian untuk semua baris piramida, kita mencetak tepat dua spasi untuk memisahkan
tersebut piramida.
>> Dan akhirnya, kita ingin mencetak kanan sisi piramida, yang
lagi jumlah yang sama hash sebagai sisi kiri.
Dan jadi sama persis untuk loop seperti di atas sini.
Akhirnya, kita perlu membuat baris baru di Untuk pindah ke baris berikutnya
piramida dan melanjutkan pencetakan.
Dan itu saja.
Nama saya Rob dan ini adalah Mario.