在 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
广告