#include <iostream>

using namespace std;

class Triangle
{
public:
  Triangle(int width, int height)
  : width(width), height(height / 2)
  {  }

  void draw()
  {
    int start_offset = width / 2;
    int end_offset = 0;
    for (int row = 0; row < height; ++ row) {
      int bgratio = (end_offset - start_offset) * row / height + start_offset;
      lineOf(' ', bgratio - 1);
      cout << '*';
      lineOf(row + 1 < height ? ' ' : '*', width - bgratio * 2);
      cout << '*' << endl;
    }
  }

private:
  int width, height;

  void lineOf(char ch, int count)
  {
    for(; count; -- count)
      cout << ch;
  }
};

int main()
{
  Triangle triangle(16,16);
  triangle.draw();
}