Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <iomanip>
- using namespace std;
- int main()
- {
- int N,M,x=1,y=1,k=0,p=1;
- cin >> N;
- M = N;
- int temp=0;
- //dynamic
- int** ptrArr = new int* [M]; //array of pointers to rows; column
- for (int i = 0; i < N; i++) {
- ptrArr[i] = new int[N]; //ptrArr[i] == array name == pointer
- }
- cout << "Enter " + std::to_string(N) + " elements and press Enter" << endl;
- cout << "(" + std::to_string(M) + " times)" << endl;
- for (int j = 1; j < N*N+1; j++) {
- ptrArr[y-1][x-1]=j; //Y - столбец , X - строка.
- switch(k%4)
- {
- case 0:
- y++;//вниз
- if(y==N-p+1)
- k++;//поворот
- break;
- case 1:
- x++;//вправо
- if(x==N-p+1)
- k++;//поворот
- break;
- case 2:
- y--;//вверх
- if (y==p){
- k++;//поворот
- }
- break;
- case 3:
- x--;//влево
- if(x==p+1)
- {
- p++;
- k++;//поворот
- }
- }
- }
- cout << temp <<endl;
- for (int i = 0; i < M; i++) {
- for (int j = 0; j < N; j++) {
- cout <<setw(4)<< ptrArr[i][j] << " ";
- }
- cout << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement