1. ## Drawing a Triangle

I have a program that draws triangles however Ia mhavig trouble doing the part for case 3 a triangle that follows this example
*
**
***
****
***
**
*
I understand that I to divide the height in half. However, integer division by 2 will result in a midpoint 1 less than the actual midpoint. For example: 5 / 2 = 2 (Midpoint = 2 + 1 = 3) but I am stumped on how to code this plz help
Code:
```#include<iostream>usingnamespace std;
int main()
{
int no_lines,// height of triangle.
width;// width of rectangle.
short choice;

// ADD A do-while LOOP TO THE PROGRAM SO THAT THE USER CAN REPEATEDLY
// DISPLAY THE MENU, MAKE A CHOICE, AND HAVE THE APPROPRIATE STEPS FOR
// THAT CHOICE CARRIED OUT.
// THE LOOP SHOULD CONTINUE ITERATING UNTIL THE USER ENTERS 3 FOR THE MENU CHOICE.
// HAVE THE PROGRAM PRINT SEVERAL BLANK LINES AFTER EACH SHAPE IS DRAWN.
do
{
cout <<"THIS PROGRAM DRAWS TRIANGLES.\n"<< endl;
cout <<"1. Filled Triangle"<< endl;
cout <<"2. Filled Inverted Trianlge"<< endl;
cout <<"3. Exit\n"<< endl;
cin >> choice;

// Process choice.
switch(choice)
{
case1:// Filled Triangle
cout <<"Enter the height for the filled triangle (2 - 25): ";
cin >> no_lines;
while(no_lines <2|| no_lines >25)
{
cout <<"Number of lines has to be between 2 and 25.\n";
cout <<"Enter the height for the filled triangle (2 - 25): ";
cin >> no_lines;
}
cout << endl;
// Draw shape.
// An example of a filled triangle with height 5
//                                              *
//                                              **
//                                              ***
//                                              ****
//                                              *****
int i, j;
for(i =1; i <= no_lines; i++)
{
for(j =1; j <= i; j++)
cout <<"*";
cout << endl;
}
break;
case2:// Inverted filled triangle
cout <<"Enter the height for the triangle (2 - 25): ";
cin >> no_lines;
while(no_lines <2|| no_lines >25)
{
cout <<"Number of lines has to be between 2 and 25.\n";
cout <<"Enter the height for the triangle (2 - 25): ";
cin >> no_lines;
}
cout << endl;
// DRAW INVERTED TRIANGLE
// AN EXAMPLE OF AN INVERTED TRIANGLE OF HEIGHT 5
//                                              *****
//                                              ****
//                                              ***
//                                              **
//                                              *

for(i = no_lines; i >=1; i--)
{
for(j =1; j <= i; j++)
cout <<"*";
cout << endl;
}
break;
case3:
// DRAW THE THIRD TRIANGLE
//                                              *
//                                              **
//                                              ***
//                                              **
//                                              *

cout <<"Exiting ...\n";
return0;
break;
}
}
while(choice >=1&& choice <=3);
system("pause");
return0;
}

```

2. You cant work out how to add 1 to the result of h / 2?? Maybe this is a start, for what you are looking for - filling in the blanks should not be too hard after already accomplishing the other cases.
Code:
```void DrawTriangle(int h)
{
int mid= (h/2) + 1;
int len=0

for (int i = 0; i < h; i++)
{
//calculate len here

// loop to print "*" here { }

cout << "\n";
}
}```