강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

가즈아아아님의 프로필 이미지
가즈아아아

작성한 질문수

씨언어 달팽이 배열 질문입니다.

작성

·

125

0

c언어를 공부중에 배열을

1 2 3

8 9 4

7 6 5 이런식으로 구현하고 싶습니다.

snail이란 함수를 만들어서 구현을 하려합니다.

n,t라는 변수를 만들어서 진행방향을 설정하고싶어 다음과 같이 코드를 짜서

실행시켰더니

1 2 3 4 5 6 7 8 9 10

0 0 0 0 0 0 0 0 0 0

이하 0--------------

이런식으로 출력되네요 .

switch 문의 case1 부터 작동이 안되는것 같은데

구체적으로 코드의 어떤부분이 문제일까요?

```#include

define size 10

void snail(int a[size][size]) {

int i, j;

i = 0; j = 0;

int k = 1;

int n = 0;

int q = 0;

int t = n % 4;

    switch (t) {

case 0:

for (j = q; j < size && a[i][j]==0; j++) {

a[i][j] += k;

k++;

}

n++;

q++;

break;

case 1:

for (i = q; i < size && a[i][j] == 0; i++) {

a[i][j] += k;

k++;

}n++;

break;

case 2:

for (j = size - q; j >= 0 && a[i][j] == 0; j--) {

a[i][j] += k;

k++;

}n++;

break;

case 3:

for (i = size - q; i >= 0 && a[i][j] == 0; i--) {

a[i][j] += k;

k++;

}n++;

break;

}

}

void set(int a[size][size]) {

int i, j;

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

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

a[i][j] = 0;

}

}

}

void print(int a[size][size]) {

int i, j;

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

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

printf("%-3d", a[i][j]);

}

printf("n");

}

}

int main(void) {

int a[size][size];

int *p = a;

print(a);

printf("\n\n\n");

set(a);

print(a);

printf("\n\n\n");

snail(a);

print(a);

return 0;

}```

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
가즈아아아님의 프로필 이미지
가즈아아아

작성한 질문수

질문하기