Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1.  
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7. int N;
  8. cin >> N;
  9. int m[51][51];
  10. int i = 1;
  11. int j = 1;
  12. int linie_inceput = i;
  13. int coloana_inceput = j;
  14. int linie_sfarsit = N;
  15. int coloana_sfarsit = N;
  16. int celule_parcurse = 0;
  17. for (int i=1;i<=N;i++){
  18. for (int j=1;j<=N;j++){
  19. m[i][j]=1;
  20. }
  21. }
  22. for (int i = 1; i <= N; i++)
  23. {
  24. m[i][i] = 0; //diagonala principala
  25. m[i][N - i + 1] = 0; //diagonala secundara
  26. }
  27. while (celule_parcurse < N*N)
  28. {
  29. for (int j = coloana_inceput; j <= coloana_sfarsit; j++)
  30. {
  31. if (celule_parcurse < N*N && m[linie_inceput][j] != 0)
  32. {
  33. m[linie_inceput][j] = 1;
  34. }
  35. ++celule_parcurse;
  36. }
  37.  
  38. for (int i = linie_inceput + 1; i <= linie_sfarsit; i++)
  39. {
  40. if (celule_parcurse < N*N && m[i][coloana_sfarsit] != 0)
  41. {
  42. m[i][coloana_sfarsit] = 2;
  43.  
  44. }
  45. ++celule_parcurse;
  46. }
  47.  
  48. for (int j = coloana_sfarsit - 1; j >= coloana_inceput; j--)
  49. {
  50. if (celule_parcurse < N*N && m[linie_sfarsit][j] != 0)
  51. {
  52. m[linie_sfarsit][j] = 3;
  53. }
  54. ++celule_parcurse;
  55. }
  56.  
  57. for (int i = linie_sfarsit - 1; i > linie_inceput; i--)
  58. {
  59. if (celule_parcurse < N*N && m[i][coloana_inceput] != 0)
  60. {
  61. m[i][coloana_inceput] = 4;
  62.  
  63. }
  64. ++celule_parcurse;
  65. }
  66. ++coloana_inceput;
  67. ++linie_inceput;
  68. --coloana_sfarsit;
  69. --linie_sfarsit;
  70. }
  71. for (int i = 1; i <= N; i++)
  72. {
  73. for (int j = 1; j <= N; j++)
  74. {
  75. cout << m[i][j] << ' ';
  76. }
  77. cout << '\n';
  78. }
  79. return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement