Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.69 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6.     int n;
  7.     int m;
  8.     cin >> n >> m;
  9.  
  10.     int matrix[n][m];
  11.     int i=0, j, k = 0, p=1;
  12.  
  13.     while (i < n*m) /*Цикл по номеру витка*/
  14.     {
  15.         if (n == 1) {
  16.             for (int i = 0; i < m; i++) {
  17.                 matrix[0][i] = i;
  18.             }
  19.             break;
  20.         } else if (m == 1) {
  21.             for (int i = 0; i < n; i++) {
  22.                 matrix[i][0] = i;
  23.             }
  24.             break;
  25.         }
  26.  
  27.         k++;
  28.         for (j=k-1;j<m-k+1;j++)
  29.         {
  30.             cout << "заполяю:" << k-1 << " " << j << endl;
  31.             matrix[k-1][j]=p++;
  32.             i++;
  33.         }   /*Определение значений верхнего гор столбца*/
  34.  
  35.         for (j=k;j<n-k+1;j++)
  36.         {
  37.             cout << "заполяю:" << j << " " << m-k << endl;
  38.             matrix[j][m-k]=p++;
  39.             i++;
  40.         }   /* --//-- По правому вертикальному столбцу*/
  41.  
  42.         for (j=m-k-1;j>=k-1;j--)
  43.         {
  44.             cout << "заполяю:" << n-k << " " << j << endl;
  45.             matrix[n-k][j]=p++;
  46.             i++;
  47.         }   /* --//-- по нижнему горизонтальному столбцу*/
  48.  
  49.         for (j=n-k-1;j>=k;j--)
  50.         {
  51.             cout << "заполяю:" << j << " " << k-1 << endl;
  52.             matrix[j][k-1]=p++;
  53.             i++;
  54.         }   /* --//-- по левому вертикальному столбцу*/
  55.  
  56.     }
  57.  
  58.     for (int i = 0; i < n; i++) {
  59.         for (int j = 0; j < m; j++) {
  60.             printf("%4d", matrix[i][j]);
  61.         }
  62.         cout << endl;
  63.     }
  64.  
  65.     return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement