>> ROB BOWDEN: Привіт, я Роб, і давайте перейдемо в хакерської видання Маріо.
Так перше, що ми повинні зробити, отримати висоту від користувача.
Тут ми просимо їх для невід'ємне ціле число, менше 24 і
ми використовуємо функцію CS50 GetInt щоб захопити, що ціле число від користувача.
Ми бачимо, що ми всередині зроби час циклу що продовжуватиме цикл тих пір, поки
висота більше, ніж 23 або менше 0.
І тому ми не будемо продовжувати, поки користувач насправді дає нам те, що ми хочемо.
>> Як тільки ми отримаємо цю висоту, ми перейдемо до в основний цикл нашої програми.
Так що давайте спочатку подивимося на прикладі від PSet спец.
Ми бачимо, що в цьому прикладі, коли ми введіть висоту 4, нижній ряд
Перший друкує чотири хеши, два прогалини, і ще чотири хеши.
>> Тоді один ряд вище, який друкує один космічні три хеши, два простору до
відокремити на піраміди, потім ще три хеши.
І головне, що два простори, два хеш, два простору, два хешей.
І, нарешті, три простору один хеш, два простору однієї хеш.
Таким чином, ви повинні почати помічати картина тут.
>> Давайте подивимося на код для того, як ми збираємося зробити це.
Ми бачимо тут, що ми ітерації над усіма рядами піраміди.
Спочатку ми хочемо обчислити кількість прогалин.
І пам'ятайте, що ми повинні почати в вершина піраміди і будемо
шлях вниз, так як ми не можемо надрукувати Нижня потім один ряд і
потім один ряд до.
Таким чином, у верхній частині піраміди, повідомлення що кількість просторів дорівнює
висота мінус 1.
Ми збираємося надрукувати три місця, то один хеш, а потім два простори в
окремий, а інший хеш.
>> Так простору дорівнює висота мінус рядок.
Якщо рядок 1, і наш висота дорівнює 4, що дасть нам 3 місця, як ми хочемо.
Тоді це для петель всього відбитків що кількість прогалин.
Якщо простору в три, то ми збираємося створити єдиний простір в три рази.
>> Продовжуючи, тепер ми хочемо, щоб роздрукувати хеш лівого піраміди, яка
просто дорівнює числу рядків.
Озираючись назад тут, у рядку один, ми друкуємо на один хеш.
У рядку два ми друкуємо два, в ряд три ми друкуємо три.
Таким чином, ми просто цикл раз ряд друк символ хеш.
Тоді для всіх рядків піраміди, ми друкувати рівно два пробіли для розділення
ці піраміди.
>> І, нарешті, ми хочемо надрукувати право стороні піраміди, яка
знову те ж саме кількість модулів як з лівого боку.
І таким чином, це та ж сама точна цикл, як зазначено вище тут.
Нарешті, ми повинні створити новий рядок в для того, щоб перейти до наступного рядка
піраміда і продовжити друк.
І це все.
Мене звуть Боб і це був Маріо.