/***************************************** 3. Write a function triangle(unsigned int m, unsigned int n) with the following properties: void triangle(unsigned int m, unsigned int n) // Precondition: m <= n // Postcondition: The function has printed a pattern of 2*(n-m+1) lines // to the output stream. The first line contains m asterisks, the next // line contains m+1 asterisks, and so on up to a line with n asterisks. // Then the pattern is repeated backwards, going n back down to m. Example output: triangle(3, 5) will print this to cout: *** **** ***** ***** **** *** *******************************************/ #include using namespace std; void triangle(unsigned int m, unsigned int n); void sub1_rec(unsigned int m, unsigned int n); void sub2_rec(unsigned int m, unsigned int n); int main(){ int m,n; cout<<"Enter m and n, m<=n, separated by a space\n"; cin>>m>>n; triangle(m,n); } void triangle(unsigned int m, unsigned int n){ sub1_rec(m,n); sub2_rec(m,n); } void sub1_rec(unsigned int m, unsigned int n){ if (m==n){ for (int i=1;i<=n;i++){ cout <<"* "; } cout<