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

Chương trình C ++ để tính toán bitonicity của một mảng

Được đưa ra với một mảng các số nguyên và nhiệm vụ là tính toán bitonicity của một mảng nhất định bằng cách sử dụng một hàm.

Bitonicity của một mảng là -

  • Khởi tạo thành 0
  • Được tăng lên 1 khi phần tử tiếp theo lớn hơn giá trị trước đó
  • Giảm xuống 1 khi phần tử tiếp theo nhỏ hơn giá trị trước đó

Ví dụ

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

Giải thích -

  • Khởi tạo biến tính toán bitonicity, giả sử tạm thời bằng 0.
  • Bắt đầu từ phần tử đầu tiên của mảng là 1. Bây giờ, hãy so sánh arr [i] và arr [i-1] tức là so sánh 4 và 1 ở đây 4 lớn hơn 1 do đó tăng nhiệt độ bằng 1. Tương tự so sánh 4 và 3 vì 3 nhỏ hơn 4 nên giá trị của nhiệt độ sẽ giảm xuống.
  • In giá trị cuối cùng của nhiệt độ là 3

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Duyệt qua tất cả các phần tử của một mảng, giả sử arr [n] trong đó n là kích thước của một mảng
  • Nếu arr [i]> arr [i-1], than bitonicity =bitonicity + 1
  • Nếu arr [i]
  • Nếu arr [i] =arr [i-1], than bitonicity =bitonicity (không đổi)

Thuật toán

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

Ví dụ

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

Đầu ra

NẾU CHÚNG TÔI CHẠY MÃ TRÊN, NÓ SẼ TẠO ĐẦU RA SAU ĐÂY

Bitonicity of an array is : 3