C/C++

Помогите написать программу на C++

Напишите набор программ на C ++ (по одной на рисунок), способных:

прочитать положительное целое число n.
отобразите геометрические фигуры (со стороной, равной n), как показано в следующих примерах.
1)
#include "iostream"
using namespace std;
int main(){
int n; cout<<"n: "; cin>>n;
for(int i=0;i< n;i++){for(int j=n;j>i;j--)cout<<'*'; cout<<'\n';}}

2)
#include "iostream"
using namespace std;
int main(){
int n; cout<<"n: "; cin>>n;
for(int i=0;i< n;i++){for(int j=0;j< i;j++)cout<<' ';
for(int k=0;k< n;k++)cout<<'*'; cout<<'\n';}}

3)
#include "iostream"
using namespace std;
int main(){
int n; cout<<"n: "; cin>>n;
for(int i=0;i< n;i++)cout<<'*'; cout<<'\n';
for(int i=2;i< n;i++){cout<<'*'; for(int j=2;j< n;j++)cout<<' '; cout<<'*'; cout<<'\n';}
for(int i=0;i< n;i++)cout<<'*'; cout<<'\n';}

Можно написать значительно короче, но нужных для этого средств C++ вы еще не проходили (и скорее всего и не пройдете - только в стандарте C++ свыше тысячи страниц) ;).
ДП
Дмитрий Потапов
76 334
Лучший ответ
Евгений Толкачев Спасибо большое за помощь)
1)
void print_figure_1(unsigned int n)
{
    for(int i = 0; i < n; i++)
    {
        for(int j = i; j < n; j++)
            cout << '*';
        cout << endl;
    }
}

2)
void print_figure_2(unsigned int n)
{
    for(int i = 0; i < n; i++)
    {
        for(int k = 0; k < i; k++)
            cout << ' ';
        for(int j = 0; j < n; j++)
            cout << '*';
        cout << endl;
    }
}

3)
void print_figure_3(unsigned int n)
{
    for(int i = 0; i < n; i++)
    {
        if (i == 0 || i == n - 1)
        {
            for(int j = 0; j < n; j++)
                cout << '*';
        }
        else
        {
            for(int j = 0; j < n; j++)
            {
                if (j == 0 || j == n - 1)
                    cout << '*';
                else
                    cout << ' ';
            }
        }
        cout << endl;
    }
}
Анвар Усмонов
Анвар Усмонов
73 465