Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int a[101][101],i,j,n,k,p=2,o=1;
- int main()
- {cin>>n>>k;
- /*vom folosi variabila p pentru a
- completa pseudodiagonalele aflate sub cele
- doua diagonale; din moment ce parcurgerea
- diagonalelor incepe de pe linia 1, p va fi
- initializat cu valoarea 2*/
- /*vom folosi variabila o pentru a numara
- etapele de completare pana ajungem la
- valoarea k; variabila o ne va ajuta
- de asemenea la completarea pseudodiagonalelor
- aflate la stanga si dreapta diagonalelor
- principala si secundara*/
- for(i=1;i<=n;i++)
- a[i][i]=1;//completam diagonala principala
- for(i=1;i<=n;i++)
- a[i][n-i+1]=1;//completam diagonala secundara
- while(o<=k)//trebuie sa realizam aceleasi operatii de completare de k ori
- {
- for(i=p;i<=n;i++)
- a[i][i-o]=1;//completam pseudodiagonala aflata sub diagonala prncipala
- for(i=1;i<=n-o;i++)
- a[i][i+o]=1;//completam pseudodiagonala aflata in dreapta diagonalei principale
- for(i=1;i<=n-o;i++)
- a[i][n-i-o+1]=1;//comnpletam pseudodiagonala aflata in stanga diagonalei secundare
- for(i=p;i<=n;i++)
- a[i][n-i+p]=1;//completam pseudodiagonala aflata sub diagonala secundara
- p++;
- o++;
- }
- for(i=1;i<=n;i++)
- for(j=1;j<=n;j++)
- if(a[i][j]==0)
- a[i][j]=2;//completam spatiile goale cu 2
- for(i=1;i<=n;i++)
- {
- for(j=1;j<=n;j++)
- cout<<a[i][j]<<" ";//afisam elementele
- cout<<'\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement