본문 바로가기

ETC Programmings

MakeUp Quiz

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

다음 코드를 활용하여 프로그램을 완성하라.

void shift(char *pstr, int n);

void order_char(char *pstr, int n);

double sum_primed_position(double arr[], int n);

void bubble(double arr[], int n);

void swap(double*, double*);

int occurrence(char *pstr, char c);

void zigzag_scan(double *pa, double *pza);

main(int argc, char *argv[])

{

int num;

char c_array[128];

double *a;

double coeff[4][4], zz_coeff[16];

if(argc<2) exit(1);

num=???(argv[1]);

a=( *)calloc(num, sizeof( ));

fflush(sdtin);

gets(c_array);

printf("%c occurs %d times in %s\n", 'a', occurrence(c_array,'a'), c_array);

zigzag_scan(&coeff[0][0],zz_coeff);

}

1. 문자형 배열 변수 c_array의 첫 번째 원소의 주소를 인자로 전달받아서 그 변수에 저장되어 있는 처음 n개의 변수 값을 원형으로 이동(circular shift)시키는 함수 shift()를 작성하라. c_array의 처음 다섯 개의 변수의 초기값이 각각 S, E, O, U , L이라고 가정할 때 shift(&c_array[0],5)가 호출되면 c_array의 처음 다섯 개의 변수 값은 각각 E, O, U, L, S가 된다. 작성함수를 테스트할 수 있는 프로그램을 작성하여 테스트해 보라.

2. 문자형 배열 변수 c_array에 저장되어 있는 처음 n개의 변수 값을 알파벳 순서로 정렬하는 함수 order_char()를 작성하라. 예를 들어, order_chars(&c_array[0], 5)를 호출하게 되면 c_array의 처음 다섯 개의 변수 값은 각각 E, L, O, S, U가 된다. 작성함수를 테스트할 수 있는 프로그램을 작성하여 테스트해 보라.

3. double형 배열의 크기가 num이 되도록 메모리를 동적으로 할당하는 프로그램을 완성하라. 단, num의 값은 command line argument를 통해서 결정되도록 하라.

4. double형 배열에서 소수 번째의 요소에 대한 합을 구하는 함수 sum_primed_position()를 작성하라. sum_primed_position(a,100)을 호출하면 a[2]+a[3]+a[5]+a[7]+...+a[97]를 계산하여 리턴한다. 작성함수를 테스트할 수 있는 프로그램을 작성하여 테스트해 보라.

5. double 형 배열을 정렬하기 위해 bubble() 함수를 작성하고, 그것을 사용하는 프로그램을 작성하라. bubble() 함수에서는 두 요소의 값을 교환하기 위한 함수 swap()을 사용하여야 한다. swap() 함수도 정의하라.

6. 문자열 c_array에서 문자 c가 몇 번 발생하는 지를 리턴하는 함수 occurrence()를 작성하라.

7. 4x4 2차원 배열의 첫 번째 요소의 주소를 인자로 전달받아 배열의 요소들을 zigzag 순서로 읽어내어 1차원 배열에 저장하는 함수 zigzag_scan()을 작성하라. 작성함수를 테스트할 수 있는 프로그램을 작성하여 테스트해 보라.


왠지 이런 문제였습니다만.. ^^ 살짝 수정을 해서.. 작성을 해볼참입니다.