A more efficient means of checking for an even number would be
division by 2 with the mod operator (%). This will return the
remainder of a number divided by another. For example:
Just put this logic into a conditional statement to determine if
int iNum1 = 20;
int iNum2 = 2;
int iResult = 0;
iResult = iNum1 % iNum2;
// iResult will equal zero
even or odd.
Next, try using two separate loops. One for incrementing and one for decrementing.
This is just one way of accomplishing this. Others may offer
// start with one and work up to the number input by the user,
// incrementing by 2
for (int i = 1; i <= iMaxNum; i+=2)
// Output the number of characters here - format is up to you.
// A function would be ideal for this.
// Start working your way back done to 1 character using the
// input number minus 2 as a starting position, decrementing by 2.
for (int j = iMaxNum - 2; j >= 1; j-=2)
// Again, output the number of characters here.
different options, but I felt that this would be easy to follow.
Hope that helps.