[C언어 소스] n 개의 정수 중에 최대값 위치 구하는 함수
//디딤돌 C언어 http://ehpub.co.kr
//n 개의 정수 중에 최대값 위치 구하는 함수
//의사 코드(pseudo code)
//함수 GetMaxPosbase : 정수들이 있는 시작 위치 n : 원소 개수)
//max_index를 0으로 초기화
//index를 1로 초기화(for문의 초기 구문)
//반복: index가 n보다 작을동안
// 조건 : base[index]가 base[max_index]보다 크다면
// index를 1 증가(for문의 후처리 구문)
// base에서 max_index를 더한 위치를 반환
#include <stdio.h>
#include <assert.h>
int *GetMaxPos(int *base, int n);
int main()
{
int arr[10] = { 1,7,10,5,9,12,3,6,10,7 };
int arr2[10] = { 1,7,20,5,9,12,3,6,10,7 };
assert(GetMaxPos(arr, 10) == arr+5); //arr[5]인 12가 최대값
assert(GetMaxPos(arr2,10) == arr2+2); //arr[2]인 20이 최대값
printf("GetMaxPos 함수 테스트 성공\n");
return 0;
}
int *GetMaxPos(int *base, int n)
{
int max_index = 0;
int index = 0;
for (index = 1; index< n; index++)
{
if (base[index] > base[max_index])
{
max_index = index;
}
}
return base + max_index;
}
실행 결과
GetMaxPos 함수 테스트 성공
본문
'C언어 > 디딤돌 C언어 예제' 카테고리의 다른 글
[C언어 소스] 배열과 포인터를 이용한 문자열 사용 (0) | 2016.11.29 |
---|---|
[C언어 소스] 선택 정렬 (Selection Sort, 내림 차순) (0) | 2016.11.29 |
[C언어 소스] n 개의 정수의 합계를 구하는 함수 (0) | 2016.11.29 |
[C언어 소스] 범위 내의 정수 중에 소수 개수를 구하는 함수 (0) | 2016.11.28 |
[C언어 소스] 특정 수가 소수(Prime Number)인지 판별하는 함수 (0) | 2016.11.28 |