/*qsort를 사용한 정렬 , 함수 포인터를 파라미터로 보내기
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 10
int compare(const void *a , const void *b)
{
return (*(int*)a < *(int*)b);
}
int comparer(const void *num1, const void *num2)
{
return (*(int*)num1 - *(int*)num2);
}
int main()
{ int *pointer;
int find;
int SaveNumber[SIZE];
srand(time(NULL));
for(int i=0; i < SIZE; i++)
{
int RanNum;
RanNum=rand() % 100;
SaveNumber[i] = RanNum;
}
printf("정렬전 : ");
for(int i=0; i<SIZE; i++)
printf("%d ",SaveNumber[i]);
printf("\n");
printf("정렬후 :");
qsort (SaveNumber, 11, sizeof(int), compare);
for(int cnt =0; cnt<SIZE; cnt++)
printf("%d " , SaveNumber[cnt]);
pointer =(int*)bsearch(&find, SaveNumber , SIZE , sizeof(SaveNumber[0]),comparer);
printf("검색할 숫자를 입력하세요 : ");
scanf("%d", &find);
if(pointer == NULL)
printf("입력한 값을 찾을수 없습니다 . 다시 입력해주세요 ");
else
printf("%d\n", *pointer);
return 0;
}
간단히 랜덤 함수를생성 해서 랜덤 함수를 서치 하는걸로 해봤는데
값이 아예 안읽혀요.. 이것저것 다해봤는데..
문제점이 무엇일까요 ㅜ