Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <locale>
- #include <iostream>
- using namespace std;
- int main(void)
- {
- // Русификация
- setlocale(LC_ALL, "rus");
- SetConsoleOutputCP(1251);
- SetConsoleCP(1251);
- int *arr;
- int rc, mx, mn= 0;
- int col, row= 0;
- int lvl= 1;
- cout<<"Введите размер матрицы..."; cin>>rc; mx= rc;
- // Создание массива
- arr= new int (rc*sizeof(int));
- if (arr==NULL) { cout<<"Память не выделена"; delete []arr; return 1; }
- // Инициализация массива 0
- for (int a= 0; a< rc*rc; a++) arr[a]= 0;
- // Спираль в массив
- while (lvl<rc*rc+1)
- {
- for (col=mn; col<mx; col++) { arr[row*rc+col]= lvl; lvl++; }
- col--; row++;
- for (row; row<mx; row++) { arr[row*rc+col]= lvl; lvl++; }
- row--; col--;
- for (col; col>mn-1; col--) { arr[row*rc+col]= lvl; lvl++; }
- col++; row--;
- for (row; row>mn; row--) { arr[row*rc+col]= lvl; lvl++; }
- row++; col++;
- mx--; mn++;
- }
- // Вывод массива
- cout<<endl;
- for (int rr= 0; rr< rc; rr++)
- {
- for (int cc=0; cc< rc; cc++) cout<<arr[rr*rc+cc]<<"\t";
- cout<<endl<<endl;
- }
- delete []arr; // Удаление массива
- cout<<endl; system("pause"); return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment