Question 2: Show output I [10]

Carefully study the program below and show the precise output it would produce.

#include <cstdio>

void drawChr(char c, int times);
void update(int &s, int &m);

int main()
{
   int rows = 15;
   int side = 0;
   int middle = rows/2;
   while (middle > 2) {
      drawChr('.', side);
      drawChr('#', middle);
      drawChr('.', side);
      update(side, middle);
      printf("\n");
   }
   for (int i = 0; i < 3; i++) {
      drawChr('.', side);
      drawChr('#', middle);
      drawChr('.', side);
     printf("\n");
   }
   drawChr('#', side+middle+side);
   printf("\n");
}

void drawChr(char c, int times)
{
   for (int i = 0; i < times; i++) {
      printf("%c", c);
   }
}

void update(int &s, int &m)
{
   s++;
   m = m - 2;
}