C++ 中数组中大于前一个和后一个元素的元素
在这个问题中,我们给定一个包含 n 个正整数的数组 arr[]。我们的任务是创建一个程序来查找数组中大于前一个和后一个元素的元素。
代码描述:我们需要找到满足条件的数组元素,即该元素大于其索引小 1 的元素,也大于其索引大 1 的元素。
让我们举个例子来理解这个问题,
输入:arr[] = {3, 2, 5, 7, 3, 4, 5}
输出:7
解释 -
索引比当前元素 5 小 1 的元素。
索引比当前元素 5 大 1 的元素。
当前元素大于两者。
解决方案方法 -
解决此问题的一个简单方法是检查数组中每个元素的条件,然后打印满足条件的元素。
为此,我们需要遵循以下步骤 -
步骤 1:循环遍历数组中的元素,从索引 1 到 n-2。
步骤 1.1:对于每个元素 arr[i],我们将检查arr[i] > arr[i-1] 和 arr[i] > arr[i+1]。
步骤 1.2:如果为真,则打印 arr[i]。
程序说明我们解决方案的工作原理,
示例
#include <iostream> using namespace std; void findElemenetsInArray(int arr[], int n) { for (int i = 1; i < n-1; i++) if ( (arr[i] > arr[i+1] && arr[i] > arr[i-1]) ) { cout<<arr[i]<<"\t"; } } int main() { int n = 8; int arr[n] = { 5, 4, 7, 1, 17, 8, 3 }; cout<<"The elements that satisfy the given condition are "; findElemenetsInArray(arr, n); return 0; }
输出 -
The elements that satisfy the given condition are 7 17
广告