Advertisement
Guest User

Untitled

a guest
Sep 9th, 2021
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. #define N 6
  4. #define M 4
  5.  
  6. int nums = 1;
  7. int p = 1;
  8.  
  9. int arr[N][M];
  10.  
  11. using namespace std;
  12.  
  13. void printArr(){
  14.     for (int i = 0; i < N; i++){
  15.         for (int j = 0; j < M; j++){
  16.             cout << arr[i][j] << "\t";
  17.         }
  18.         cout << endl;
  19.     }
  20. }
  21.  
  22. void circle (int k){   
  23.    
  24.     // levo pravo
  25.     for (int i = 0+k; i < M-k; i++){
  26.         arr[N-N+k][i] = nums;
  27.         nums++;
  28.     }
  29.     // verh niz
  30.     nums--;
  31.     for (int i = 0+k; i < N-k; i++){
  32.         arr[i][M-1-k] = nums;
  33.         nums++;
  34.     }
  35.     // pravo levo
  36.     nums--;
  37.     for (int i = M-p; i >= 0+k; i--){
  38.         arr[N-1-k][i] = nums;
  39.         nums++;
  40.     }
  41.     // niz verh
  42.     nums--;
  43.     for (int i = N-p; i > 0+k; i--){
  44.         arr[i][0+k] = nums;
  45.         nums++;
  46.     }
  47.     p++;
  48. }
  49.  
  50.  
  51. int main(){
  52.    
  53.     if (M<N){  
  54.         for (int k = 0; k < M/2; k++){     
  55.             circle(k); 
  56.         }  
  57.     } else {
  58.         for (int k = 0; k < N/2; k++){     
  59.             circle(k); 
  60.         }
  61.     }
  62.    
  63.     printArr();
  64.    
  65.     return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement