Advertisement
a53

pattern1

a53
Feb 1st, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int a[513][513],n;
  4.  
  5. void pattern(int a[][513],int n,int sus,int st,int jos,int dr)
  6. {
  7. if(n>=1)
  8. {
  9. int mi=(sus+jos)/2,mj=(st+dr)/2;
  10. a[mi][mj]=n;
  11. pattern(a,n-1,sus,st,mi-1,mj-1); /// Stanga-Sus
  12. pattern(a,n-1,sus,mj+1,mi-1,dr); /// Dreapta-Sus
  13. pattern(a,n-1,mi+1,st,jos,mj-1); /// Stanga-Jos
  14. pattern(a,n-1,mi+1,mj+1,jos,dr); /// Dreapta-Jos
  15. }
  16. }
  17.  
  18. void scrie(int a[][513],int n)
  19. {
  20. for(int i=1;i<=n;i++)
  21. {
  22. for(int j=1;j<=n;j++)
  23. cout<<a[i][j]<<' ';
  24. cout<<'\n';
  25. }
  26. }
  27.  
  28. int main()
  29. {
  30. int n,p;
  31. cin>>n;
  32. p=1<<n; /// Calculam p=2^n prin deplasari la stanga (1=2^0)
  33. --p; /// Scad 1
  34. pattern(a,n,1,1,p,p);
  35. scrie(a,p);
  36. return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement