프로그래머의 삶 Programmer's Life/C & C++

포인터로 정렬

Oliver's World 2008. 11. 3. 14:04
728x90
/* 정수 10개를 입력받아 포인터로 내림차순으로 정렬*/
/* 함수 선언과 함수 호출이라는 방법을 사용한다*/

#include <stdio.h>

void sort(int* array, int num); //함수 선언 포인터 array와 num을 정수형으로 받음

int main()
{
int array[10], i; //배열 array를 크기 10으로하여 정수형으로 받음

for(i=0;i<10;i++) //for문을 돌려 정수 10개를 입력받음
{
printf("정수를 입력하시오.\n");
scanf("%d", &array[i]); //array의 i번째를 정수형으로 받음
}
for(i=0;i<10;i++) //for문을 돌려 정수10개를 출력
{
printf(" .%d", array[i]); //array의 i번째의 수를 정수로 출력
}
printf("\n"); //출력된 정수10개와 정렬된 정수10개를 띄어서 표시
sort(array, 10); //sort의array가 10개임을 표시
for(i=0;i<10;i++) //for문을 돌려 10개의 정수를 출력
{
printf(".%d", array[i]);
}
printf("\n");
}
void sort(int* array, int num) //함수 호출
{
int temp=0, i, j;
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++) //j는 i보다 항상 1이 큼을 나타냄
{
if(array[i]<array[j]) //i번째 수가 j번째 수보다 작으면
{
temp=array[j]; //j번째 수를 temp에 넣고
array[j]=array[i]; //i번째 수를 j번째에 넣고
array[i]=temp; //temp의 수를 i번째 에 넣는다.
}
}
}
}

728x90