Code

[C Programming] 달팽이 배열

BIGFROG 2020. 1. 9. 18:43

 

#include <stdio.h>



void SnailArr(int(*ptrArr)[100], int len);

void ShowArr(int(*ptrArr)[100], int len);



int main() {

 int num;

 int arr[100][100];

 scanf_s("%d", &num);



 SnailArr(arr, num);

 ShowArr(arr, num);

 return 0;

}



void SnailArr(int(*ptrArr)[100], int len) {

 int i;

 int x=0,y=0;

 int count = 1;

 int round = 0;

 

 while (count < (len * len)) {

  for (i = 1; i < (len - round); i++) {

   ptrArr[x][y] = count;

   y++;

   count++;

  }

  



  for (i = 1; i < len - round; i++) {

   ptrArr[x][y] = count;

   x++;

   count++;

  }

  

  for (i = 1; i < len - round; i++) {

   ptrArr[x][y] = count;

   y--;

   count++;

  }

  

  for (i = 1; i < len - round; i++) {

   ptrArr[x][y] = count;

   x--;

   count++;

  }

  

  round = round + 2;

  x++;

  y++;

  

  ptrArr[x][y] = count;

  

 }

}



void ShowArr(int(*ptrArr)[100], int len) {

 int i,j;



 for (i = 0; i < len; i++) {

  for (j = 0; j < len; j++) {

   printf("%10d", ptrArr[i][j]);

  }

  printf("\n");

 }

}

 

'Code' 카테고리의 다른 글

[백준 2455] 지능형 기차  (0) 2020.01.09
[백준2292] 벌집  (0) 2020.01.09
[백준 1094] 막대기  (0) 2020.01.09
[C Programming] 에라토스테네스의 체  (0) 2020.01.09
[Absolute C++] Ch4-16  (0) 2019.09.19