Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm tối thiểu trong một mảng mà không sử dụng Toán tử quan hệ trong C ++


Trong bài toán này, chúng ta được cung cấp một mảng arr [] bao gồm n phần tử dương. Nhiệm vụ của chúng ta là tìm giá trị nhỏ nhất trong một mảng mà không sử dụng Toán tử quan hệ.

Toán tử quan hệ trong lập trình là những toán tử được sử dụng để kiểm tra mối quan hệ giữa hai giá trị. Như ==(bằng), lớn hơn (>), nhỏ hơn (<), v.v.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào

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

Đầu ra

1

Giải thích

The smallest element is 1.

Phương pháp tiếp cận giải pháp

Một cách đơn giản để giải quyết vấn đề là sử dụng một vòng lặp và kiểm tra phần tử tối thiểu trong số tất cả các phần tử của mảng. Để tìm phần tử nhỏ nhất giữa hai phần tử đã cho, chúng ta có thể so sánh phần tử nào trở thành 0 đầu tiên khi chúng ta giảm cả hai đi 1.

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

Ví dụ

#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;
}

Đầu ra

The minimum element is 1