Ваша главная проблема - точки с запятой после циклов for
.Они образуют тело цикла for
, поэтому цикл ничего не делает.Другими словами, это здесь
for (spaces = (height - 1) - row; spaces >= 0; spaces--)
;
{
printf(" ");
}
просто превращается в
{
printf(" ");
}
И аналогично для двух других for
циклов.Вот почему то, что вы хотите, чтобы происходило в цикле, происходит только один раз: то, что вы считали телом цикла for
, на самом деле не имеет ничего общего с указанным циклом, поэтому он запускается только один раз.
Кроме того, условие цикла здесь
for (hashes = 2; row < hashes; hashes++)
Неверно, должно быть наоборот.Возможно, вам нужно что-то похожее на это:
for (hashes = 2; hashes < row*2; hashes++)
Наконец, int main
должен возвращать int, поэтому добавьте return 0;
в конец функции.