C언어/디딤돌 C언어 예제

[C언어 소스] n 개의 정수 중에 최대값 위치 구하는 함수

언제나휴일 2016. 11. 29. 01:19
반응형

[C언어 소스] n 개의 정수 중에 최대값 위치 구하는 함수


Program.c

//디딤돌 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 *baseint 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언어] 61. 함수 만들기 실습 시나리오

[디딤돌 C언어] 62. 도메인 분석

[디딤돌 C언어] 63. 함수명 결정

[디딤돌 C언어] 64. 함수 원형 결정

[디딤돌 C언어] 65. 테스트 코드 작성

[디딤돌 C언어] 66. 구현 (함수 만들기 실습)



 

 

반응형