/* Треугольник из звездочек */ /* Теперь треугольник должен быть равнобедренным */

#include

void drawOneLine(int nspaces, int nstars){ int i; /* номер печатаемой звездочки, счетчик */ /* он же - номер печатаемого пробела */

for(i=0; i < nspaces; i++) putchar(' '); for(i=0; i < nstars; i++) putchar('*'); putchar('\n'); }

void main(){ /* ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ */ int LINES = 25; /* всего строк. */ int nline; /* номер строки */

/* Для человека естественно считать с 1. Для машины же первое число - это НУЛЬ. Поэтому цикл for(nline=1; nline <= LINES; nline++) Следует записать в виде for(nline=0; nline < LINES; nline++)

Он тоже выполнится 25 раз, но значение переменной-счетчика nline будет на каждой итерации на 1 меньше. Поэтому надо поменять расчет параметров для функции рисования.

n (номер строки) ...* 0 ..*** 1 .***** 2 ******* 3

Всего строк: LINES Число звездочек в n-ой строке: n*2 + 1 Число пробелов спереди (обозначены точкой): LINES - n - 1

*/

/* ВЫПОЛНЯЕМЫЕ ОПЕРАТОРЫ (ДЕЙСТВИЯ) */ for(nline=0; nline < LINES; nline++) drawOneLine(LINES - nline - 1, nline*2 + 1); }