Witam, miałem problem z zadaniem rysowania w pętli for pustego trójkąta i dla inspiracji znalazłem taki oto kod i nie mogę zrozumieć jak on działa bo jeszcze nie spotkałem się z takimi rozwiązaniami :)
#include <iostream>
using namespace std;
int main()
{
int ile;
cin >> ile;
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)];
return 0;
}
Jeśli dobrze rozumiem to ten kawałek kodu poniżej w każdym okrążeniu zmniejsza o 1 y i w dodatku postdekrementacja działa w miejscu gdzie jest sprawdzany warunek pętli?
(y--)>1
Co robi takie wyrażenie (dokładnie mi chodzi o znaki <<) ?
x=ile<<1
Pierwszy raz spotkałem się, żeby nawiasy kwadratowe były użyte gdzieś indziej niż do tablic i jestem w kropce.
Tym bardziej, że są one od razu po znaku cudzysłowia.
cout<<" *"[(y==1)||(y==x)||(y==z)];