#include using namespace std; int get_odd_number( int n, int m ) { int x = 0; while ( x < n || x > m || x % 2 == 0 ) { cout << "Enter odd int in range [" << n << '-' << m << "]: "; cin >> x; } return x; } void print_row( int s, int n, char c ) { for ( int i = 0 ; i < s ; i++ ) cout << ' '; for ( int i = 0 ; i < n ; i++ ) cout << c; cout << endl; // could be in main() [-2 if nowhere] } int get_trunk_height( int number ) { return 1 + number / 9; } int main() { int number = get_odd_number( 7, 29 ); int spaces = 18; for ( int r = 1 ; r <= number ; r += 2 ) { print_row( spaces, r, '^' ); spaces--; } int h = get_trunk_height( number ); for ( int r = 0 ; r < h ; r++ ) { print_row( 17, 3, '|' ); // for ( int i = 0 ; i < 17 ; i++ ) cout << ' '; // cout << "|||\n"; } return 0; }