Witam,
Jak narysować trójkąt prostokątny z gwiazdek tak żeby był narysowany w lewą stronę?
Z góry dzięki za pomoc :)
0
1
Rysuj przed gwiazdkami malejącą ilość spacji.
Np. w pierwszym wierszu 10 spacji i 1 gwiazdka, w drugim 9 spacji i dwie gwiazdki...
3
Możesz użyć funkcji formatujących biblioteki standardowej, czy to std::setw
czy printf
.
for(int i = 1; i <= 10; i++){
cout << setw(10) << setfill(' ') << string(i, '*') << endl;
}
0
Nie mogę wymyślić jak mam robić te spacje. Próbuje coś takiego ale nie bardzo o to chodzi
#include <iostream>
using namespace std;
int main()
{
int a;
cin>>a;
for(int k=a; k>=0; k--)
{
cout<<" ";
}
for(int j=0; j<=a; j++)
{
for(int i=0; i<=j; i++)
cout<<"*";
cout<<endl;
}
return 0;
}
0
Jeśli chcesz robić to ręcznie, to spacje musisz robić przed każdą linijką, a nie przed całym trójkątem.
0
jak mam to zrobić żeby mi przesuwało każdą linię a nie tylko pierwszą?
#include <iostream>
using namespace std;
int main()
{
int a;
cin>>a;
for(int k=a; k>=0; k--)
{
for(int j=0; j<=a; j++)
{
for(int i=0; i<=j; i++)
{
cout<<"*";
}
cout<<endl;
}
cout<<" ";
}
return 0;
}
1
Każdą linię musisz "przesunąć" o odpowiednią ilość znaków, masz pseudokod:
FOR KAŻDA_LINIA
ILOŚĆ_GWIAZDEK = I
WYPISZ (N-I) SPACJI
WYPISZ (I) GWIAZDEK
0
Tak zrób:
#include <iostream>
using namespace std;
int main() {
for(int i=5;i>=0;i--){
for(int j=i;j>=0;j--)
cout << " ";
for(int j=i;j<5;j++)
cout << "*";
cout << "\n";
}
return 0;
}