문제를 제대로 이해도 못한 상태에서 문제를 풀었더니 엉망이다. 뭐가 엉망인고 보면
- 1. 함수로 만들어라 했더니 걍 단독 실행이 되게 만들었음
- 2. 배열이 정렬 되어있다는 말의 의미를 순간 이해 못했음
일단 사용자 정의 함수를 만드는 방법 부터 좀 공부를 한 다음에...
전달_자료형 함수명 (인수형 인수명, 인수형 인수명,....);
전달_자료형 함수명 (인수형 인수명) {
함수내용
}
<예제>
int sample_function (char A);
void main (void) {
blar blar blar
char_A = sample_function
}
int sample_function (char A) {
blar blar blar
}
이렇게 하면 된다고는 하는데 너무 쉽게 설명을 해서인지 역시나 삽질을 동원한 실습을 해봐야 감이 올 듯...
#import <Cocoa/Cocoa.h>
void points_distance(int *pointsdistance, int *arry_max_size);
int main(int argc, const char * argv[]) {
int arry_size, points[7] = {1, 3, 4, 8, 13, 17, 20};
arry_size = 7;
points_distance(points, &arry_size);
/* int arry_max_size, pointsdistance[9999]={}, i;
printf("점들의 개수를 입력하여 주십시오\n");
scanf("%d", arry_max_size);
for (i = 0; i < arry_max_size; i = i + 1) {
printf("%d번째 점을 입력하여 주십시오\n", i);
scanf("%d", pointsdistance[i]);
}
points_distance(*pointsdistance, arry_max_size);*/
return NSApplicationMain(argc, argv);
}
void points_distance(int *pointsdistance, int *arry_max_size){
int i, temp_result = 0, result = 9999, result_a = 0, result_b = 0;
for (i = 0; i < *arry_max_size - 1; i = i + 1) {
temp_result = pointsdistance[i+1] - pointsdistance[i];
if (temp_result <= result) {
result = temp_result;
result_a = pointsdistance[i];
result_b = pointsdistance[i + 1];
}
}
printf("\n가장 거리가 짧은 점들은 (%d, %d)", result_a, result_b);
}
후~ 머리가 멍한 상태로 뭔가를 하려니 조낸 어렵네... 근데 저기에 왜 포인터가 들어가는지... 에효 저것 땀시 조낸 헤맸네...