Advertisement
Guest User

Untitled

a guest
May 24th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int a[101][101],i,j,n,k,p=2,o=1;
  4. int main()
  5. {cin>>n>>k;
  6. /*vom folosi variabila p pentru a
  7. completa pseudodiagonalele aflate sub cele
  8. doua diagonale; din moment ce parcurgerea
  9. diagonalelor incepe de pe linia 1, p va fi
  10. initializat cu valoarea 2*/
  11.  
  12. /*vom folosi variabila o pentru a numara
  13. etapele de completare pana ajungem la
  14. valoarea k; variabila o ne va ajuta
  15. de asemenea la completarea pseudodiagonalelor
  16. aflate la stanga si dreapta diagonalelor
  17. principala si secundara*/
  18. for(i=1;i<=n;i++)
  19. a[i][i]=1;//completam diagonala principala
  20. for(i=1;i<=n;i++)
  21. a[i][n-i+1]=1;//completam diagonala secundara
  22. while(o<=k)//trebuie sa realizam aceleasi operatii de completare de k ori
  23. {
  24. for(i=p;i<=n;i++)
  25. a[i][i-o]=1;//completam pseudodiagonala aflata sub diagonala prncipala
  26. for(i=1;i<=n-o;i++)
  27. a[i][i+o]=1;//completam pseudodiagonala aflata in dreapta diagonalei principale
  28. for(i=1;i<=n-o;i++)
  29. a[i][n-i-o+1]=1;//comnpletam pseudodiagonala aflata in stanga diagonalei secundare
  30. for(i=p;i<=n;i++)
  31. a[i][n-i+p]=1;//completam pseudodiagonala aflata sub diagonala secundara
  32. p++;
  33. o++;
  34. }
  35. for(i=1;i<=n;i++)
  36. for(j=1;j<=n;j++)
  37. if(a[i][j]==0)
  38. a[i][j]=2;//completam spatiile goale cu 2
  39. for(i=1;i<=n;i++)
  40. {
  41. for(j=1;j<=n;j++)
  42. cout<<a[i][j]<<" ";//afisam elementele
  43. cout<<'\n';
  44. }
  45. return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement