inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

127

가즈아아아

작성한 질문수 1

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;

}```

답변 0

케이테스트 서버 운영 방법

2

51

1

강의 추천해주세요

2

28

1

네트워크 전체 흐름 복습 질문

1

34

3

Sequence 관련 질문

1

32

2