Q&A

  • 최대값이후의 최소값을 아는 로직?
예를들어 숫자배열

(2,4,1,6,3,7,11,5,3,4)에서

최대값은 11을 구할수 있지않습니까?

그리고 최소값은 1이지요

이는 루프를 돌면서 비교를 하면 구해지지요

그런데 11이후의 숫자중에서 최소값이 3이라는 것을

구하려 하는데 너무 어렵군요

알고리즘 또는 로직을 자세히 가르쳐주시면

감사하겟습니다





1  COMMENTS
  • Profile
    지나는이 2001.12.04 09:40
    만성 wrote:

    > 예를들어 숫자배열

    > (2,4,1,6,3,7,11,5,3,4)에서

    > 최대값은 11을 구할수 있지않습니까?

    > 그리고 최소값은 1이지요

    > 이는 루프를 돌면서 비교를 하면 구해지지요

    > 그런데 11이후의 숫자중에서 최소값이 3이라는 것을

    > 구하려 하는데 너무 어렵군요

    > 알고리즘 또는 로직을 자세히 가르쳐주시면

    > 감사하겟습니다

    >

    >



    Var

    // 물론 Array의 초기화는 지역변수로 하믄 안되지용....

    tmpI : Array[1..10] Of Integer = (2,4,1,6,3,7,11,5,3,4) ;

    tmpJ : Integer ;

    tmpMax, tmpMin : Integer ;

    Begin

    tmpMax := tmpI[1] ;

    tmpMin := tmpI[1] ;



    For tmpJ := 2 To 10 Do

    Begin

    If tmpI[tmpJ] > tmpMax Then

    Begin

    tmpMax := tmpI[tmpJ] ;

    tmpMin := tmpI[tmpJ] ;

    End

    Else If tmpI[tmpJ] < tmpMin Then

    Begin

    tmpMin := tmpI[tmpJ] ;

    End ;

    End ;

    End ;



    현 상태에서는 제대로 되긴 하는데... 다른 상황에서는 테스트를 안해봐서

    잘 모르겠네요... 머리속으로 돌려 본 바로는 이상이 없는 것 같긴 한데....