Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int a[101][101], n;
- void patrat(int a[][101], int n)
- {
- int j=n/2+1, i=1;
- a[i][j]=1;
- int ant=1;
- while(ant<=n*n)
- {
- i--, j--;
- if(i==0 && j!=0)
- {
- int i2=n;
- if(a[i2][j]!=0)
- {
- i+=2, j++;
- a[i][j]=ant+1;
- }
- else
- {
- a[i2][j]=ant+1;
- i=i2;
- }
- }
- else if(j==0 && i==0)
- {
- if(a[n][n]==0)
- {
- a[n][n]=ant+1;
- i=n;
- j=n;
- }
- else
- {
- i=2, j=1;
- a[i][j]=ant+1;
- }
- }
- else if(j==0 && i!=0)
- {
- int j2=n;
- if(a[i][j2]!=0)
- {
- i+=2, j++;
- a[i][j]=ant+1;
- }
- else
- {
- a[i][j2]=ant+1;
- j=j2;
- }
- }
- else
- {
- if(a[i][j]==0)
- a[i][j]=ant+1;
- else
- {
- i+=2, j++;
- a[i][j]=ant+1;
- }
- }
- ant++;
- }
- }
- void afisare(int a[][101], int n)
- {
- for(int i=1; i<=n; i++)
- {
- for(int j=1; j<=n; j++)
- cout << a[i][j] << " ";
- cout << endl;
- }
- }
- int main()
- {
- cin >> n;
- patrat(a, n);
- afisare(a, n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement