Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 관계 연산자를 사용하지 않고 배열에서 최소값 찾기


이 문제에서는 n개의 양수 요소로 구성된 배열 arr[]이 제공됩니다. 우리의 임무는 관계 연산자를 사용하지 않고 배열에서 최소값을 찾는 것입니다.

프로그래밍에서 관계 연산자는 두 값 간의 관계를 확인하는 데 사용되는 연산자입니다. ==(같음), 보다 큼(>), 보다 작음(<) 등

문제를 이해하기 위해 예를 들어보겠습니다.

입력

arr[] = {4, 2, 5, 1, 7}

출력

1

설명

The smallest element is 1.

해결 방법

문제를 해결하는 간단한 방법은 루프를 사용하고 배열의 모든 요소에서 최소 요소를 확인하는 것입니다. 주어진 두 요소 사이의 최소 요소를 찾기 위해 둘 다 1로 줄였을 때 어떤 요소가 먼저 0이 되는지 비교할 수 있습니다.

우리 솔루션의 작동을 설명하는 프로그램

#include <iostream>
using namespace std;
int findMin(int a, int b) {
   int minVal = 0;
   while (a && b) {
      minVal++;
      a--;
      b--;
   }
   return minVal;
}
int findMinimumElement(int arr[], int n) {
   int minVal = arr[0];
   int i = (n - 1) ;
   while(i){
      minVal = findMin(minVal, arr[i]);
      i--;
   }
   return minVal;
}
int main() {
   int arr[] = {4, 2, 5, 1, 7};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The minimum element is "<<findMinimumElement(arr, n);
   return 0;
}

출력

The minimum element is 1