C++程式:計算陣列的位元數


給定一個整數陣列,任務是使用函式計算給定陣列的位元數。

陣列的位元數是指:

  • 初始化為0
  • 當下一個元素大於前一個值時遞增1
  • 當下一個元素小於前一個值時遞減1

示例

Input-: arr[] = { 1,4,3,5,2,9,10,11}
Output-: Bitonicity of an array is : 3

解釋:

  • 將位元數計算變數(例如temp)初始化為0。
  • 從陣列的第一個元素1開始。現在比較arr[i]和arr[i-1],即比較4和1,這裡4大於1,因此將temp遞增1。類似地,比較4和3,由於3小於4,因此將temp的值遞減。
  • 列印temp的最終值,即3

下面程式中使用的方法如下:

  • 遍歷陣列的所有元素,例如arr[n],其中n是陣列的大小
  • 如果arr[i] > arr[i-1],則位元數 = 位元數 + 1
  • 如果arr[i] < arr[i-1],則位元數 = 位元數 – 1
  • 如果arr[i] = arr[i-1],則位元數 = 位元數(不變)

演算法

Start
Step 1-> Declare function to calculate bitonicity of an array
   int cal_bitonicity(int arr[], int n)
      set int temp = 0
      Loop For int i = 1 and i < n and i++
         IF (arr[i] > arr[i - 1])
         Increment temp++
      End
      Else IF (arr[i] < arr[i - 1])
         Decrement temp—
      End
   return temp
step 2-> In main()
   declare int arr[] = { 1,4,3,5,2,9,10,11}
   set int n = sizeof(arr) / sizeof(arr[0])
   Call cal_bitonicity(arr, n)
Stop

示例

 線上演示

#include <iostream>
using namespace std;
// calculate bitonicity
int cal_bitonicity(int arr[], int n) {
   int temp = 0;
   for (int i = 1; i < n; i++) {
      if (arr[i] > arr[i - 1])
         temp++;
      else if (arr[i] < arr[i - 1])
         temp--;
   }
   return temp;
}
int main() {
   int arr[] = { 1,4,3,5,2,9,10,11};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"Bitonicity of an array is : " <<cal_bitonicity(arr, n);
   return 0;
}

輸出

如果我們執行上述程式碼,它將生成以下輸出:

Bitonicity of an array is : 3

更新於:2019年10月18日

100 次瀏覽

開啟你的職業生涯

完成課程獲得認證

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