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

更新於: 2021-01-22

1K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.