Narysowanie trójkąta pustego w środku o zadanej przez użytkownika wielkości

0

Cześć. Mam problem z programem, który ma za zadanie narysowanie trójkąta o zadanej przez użytkownika wielkości.

int main()
{
    int ile, i, j, k;
    
    printf("Podaj ilosc linii: ");
    scanf("%d", &ile);
    
    for (i = 1; i <= ile; ++i) // petla drukująca wiersze
    {
        for (j = i; j < ile; ++j) // petla drukująca spacje
          printf(" ");
        for (k = 1; k <= (2 * i - 1); ++k) // petla rysująca gwiazdki
          printf("*");
          printf("\n");
    }
}

Trójkąt musi być pusty w środku i właśnie z tym mam problem. Co powinienem dodać w pętli rysującej gwiazdki, aby były one rysowane wyłącznie na brzegu trójkąta? Prosiłbym o nakierowanie mnie na rozwiązanie, z góry dziękuję i pozdrawiam :)

1

Na szybko, mniej więcej chodzi o coś takiego:

    for (i = 1; i <= ile; ++i) // petla drukująca wiersze
    {
        for (j = i; j < ile; ++j) // petla drukująca spacje
          cout<<" ";
        for (k = 1; k <= (2 * i - 1); ++k) // petla rysująca gwiazdki
		if(k == 1 || k == (2*i -1) || i == ile)
          		cout<<"*";
		else 
			cout<<" ";
          cout<<"\n";
    }
}
0

Albo po krótkim namyśle:

for(int y=ile+1;(y--)>1;cout<<endl) for(int x=ile<<1,z=1;--x;++z) cout<<" *"[(y==1)||(y==x)||(y==z)];

1 użytkowników online, w tym zalogowanych: 0, gości: 1