Основная проблема является второй для l oop в вашем коде, когда вы печатаете «a». Каждый раз, когда вы нажимаете в этом конкретном l oop, вы в основном печатаете (высота - 1) раз «а». На самом деле, вы должны печатать каждый раз на одну букву «а» (и еще один хеш). Чтобы добиться этого, нам нужно настроить состояние s. Вместо этого
int s = height - 1; s >= 1
Используйте это
int s = height - i; s > 1
Так как ваш основной l oop имеет итератор i
, мы можем используйте это здесь.
Вторая проблема заключается в том, что в соответствии с описанием набора проблем CS50 вы должны вывести " "
(пробелы), а не "a"
. Для этого вам следует заменить "a"
на " "
.
Третий выпуск - ваш код печатает дополнительную строку с пробелами в начале. Вам нужно настроить главное для l oop с этим условием, чтобы удалить одну лишнюю строку.
i < height
И для for l oop, где вы печатаете символ #
, вам нужно запустить итератор h с нуля, чтобы он печатался сразу с первой строки.
int h = 0