>> ROB BOWDEN: Привет, я Роб, и давайте перейдем в хакерской издания Марио.
Так первое, что мы должны сделать, получить высоту от пользователя.
Здесь мы просим их для неотрицательное целое число, меньшее 24 и
мы используем функцию CS50 GetInt чтобы захватить, что целое число от пользователя.
Мы видим, что мы внутри сделай время цикла что будет продолжать цикл тех пор, пока
высота больше, чем 23 или меньше 0.
И поэтому мы не будем продолжать, пока пользователь на самом деле дает нам то, что мы хотим.
>> Как только мы получим эту высоту, мы перейдем к в основной цикл нашей программы.
Так что давайте сначала посмотрим на примере от PSet спец.
Мы видим, что в этом примере, когда мы введите высоту 4, нижний ряд
Первый печатает четыре хэши, два пробелы, и еще четыре хэши.
>> Тогда один ряд выше, который печатает один космические три хэши, два пространства к
отделить на пирамиды, затем еще три хэши.
И главное, что два пространства, два хэшей, два пространства, два хэшей.
И, наконец, три пространства один хэш, два пространства одной хэш.
Таким образом, вы должны начать замечать картина здесь.
>> Давайте посмотрим на код для того, как мы собираемся сделать это.
Мы видим здесь, что мы итерации над всеми рядами пирамиды.
Сначала мы хотим вычислить количество пробелов.
И помните, что мы должны начать в вершина пирамиды и будем
путь вниз, так как мы не можем напечатать Нижняя затем один ряд и
затем один ряд до.
Таким образом, в верхней части пирамиды, уведомления что количество пространств равна
высота минус 1.
Мы собираемся напечатать три места, то один хэш, а затем два пространства в
отдельный, а другой хэш.
>> Так пространства равна высота минус строка.
Если строка 1, и наш высота равна 4, что даст нам 3 места, как мы хотим.
Тогда это для петель всего отпечатков что количество пробелов.
Если пространства в три, то мы собираемся создать единое пространство в три раза.
>> Продолжая, теперь мы хотим, чтобы распечатать хэш левого пирамиды, которая
просто равно числу строк.
Оглядываясь назад здесь, в строке один, мы печатаем на один хэш.
В строке два мы печатаем два, в ряд три мы печатаем три.
Таким образом, мы просто цикл раз ряд печать символ хэш.
Тогда для всех строк пирамиды, мы печатать ровно два пробел для разделения
эти пирамиды.
>> И, наконец, мы хотим напечатать право стороне пирамиды, которая
снова то же самое количество модулей как с левой стороны.
И таким образом, это та же самая точная цикл, как указано выше здесь.
Наконец, мы должны создать новую строку в для того, чтобы перейти к следующей строке
пирамида и продолжить печать.
И это все.
Меня зовут Боб и это был Марио.