Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <iomanip>
  4. using namespace std;
  5. int main()
  6. {
  7. int N,M,x=1,y=1,k=0,p=1;
  8. cin >> N;
  9. M = N;
  10. int temp=0;
  11. //dynamic
  12. int** ptrArr = new int* [M]; //array of pointers to rows; column
  13. for (int i = 0; i < N; i++) {
  14. ptrArr[i] = new int[N]; //ptrArr[i] == array name == pointer
  15.  
  16. }
  17. cout << "Enter " + std::to_string(N) + " elements and press Enter" << endl;
  18. cout << "(" + std::to_string(M) + " times)" << endl;
  19.  
  20. for (int j = 1; j < N*N+1; j++) {
  21. ptrArr[y-1][x-1]=j; //Y - столбец , X - строка.
  22. switch(k%4)
  23. {
  24. case 0:
  25. y++;//вниз
  26. if(y==N-p+1)
  27. k++;//поворот
  28. break;
  29.  
  30. case 1:
  31. x++;//вправо
  32. if(x==N-p+1)
  33. k++;//поворот
  34. break;
  35. case 2:
  36. y--;//вверх
  37. if (y==p){
  38. k++;//поворот
  39. }
  40. break;
  41. case 3:
  42. x--;//влево
  43. if(x==p+1)
  44. {
  45. p++;
  46. k++;//поворот
  47. }
  48. }
  49.  
  50. }
  51. cout << temp <<endl;
  52. for (int i = 0; i < M; i++) {
  53. for (int j = 0; j < N; j++) {
  54. cout <<setw(4)<< ptrArr[i][j] << " ";
  55. }
  56. cout << endl;
  57. }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement