Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <graphics.h>
- #include <algorithm>
- void square(int xc, int yc, int l)
- {
- int x1=xc-l/2,y1=yc-l/2;
- int x2=xc+l/2,y2=yc-l/2;
- int x3=xc+l/2,y3=yc+l/2;
- int x4=xc-l/2,y4=yc+l/2;
- line(x1,y1,x2,y2);
- line(x2,y2,x3,y3);
- line(x3,y3,x4,y4);
- line(x4,y4,x1,y1);
- }
- void Sierpinski(int xc, int yc, int l)
- {
- square(xc-l,yc-l,l/3);
- square(xc,yc-l,l/3);
- square(xc+l,yc-l,l/3);
- square(xc+l,yc,l/3);
- square(xc+l,yc+l,l/3);
- square(xc,yc+l,l/3);
- square(xc-l,yc+l,l/3);
- square(xc-l,yc,l/3);
- if (l>9)
- {
- Sierpinski(xc-l,yc-l,l/3);
- Sierpinski(xc,yc-l,l/3);
- Sierpinski(xc+l,yc-l,l/3);
- Sierpinski(xc+l,yc,l/3);
- Sierpinski(xc+l,yc+l,l/3);
- Sierpinski(xc,yc+l,l/3);
- Sierpinski(xc-l,yc+l,l/3);
- Sierpinski(xc-l,yc,l/3);
- }
- }
- int main()
- {
- initwindow(1900, 1000);
- const int xc=getmaxx()/2,yc=getmaxy()/2,l=std::min(getmaxx(),getmaxy())-50;
- square(xc,yc,l);
- square(xc,yc,l/3);
- Sierpinski(xc,yc,l/3);
- getch();
- cleardevice();
- closegraph();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement