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

Xác suất xuất hiện một khóa K trong mảng trong C ++

Được đưa ra với một mảng có kích thước 'n' và nhiệm vụ là tìm xác suất của k phần tử đã cho nếu có trong một mảng.

Duyệt toàn bộ mảng cho đến khi ‘n’ bằng với số phần tử trong một mảng và tìm kiếm phần tử hoặc khóa ‘k’ đã cho. Nếu phần tử hiện diện trong một mảng hơn là tính xác suất của nó thì khác in 0.

Đầu vào

arr[] = { 1, 2, 3, 4, 5, 6}
K = 5

Đầu ra

probability of a key 5 in an array is :0.166

Đầu vào

arr[] = { 1,2,3,4,5,6,7 }
K = 8

Đầu ra

probability of a key 5 in an array is :0

Giải thích

Xác suất xuất hiện một khóa K trong mảng trong C ++

Đã cho ở trên là một mảng có kích thước 7 và một khóa 2 vì vậy mảng sẽ được duyệt qua 7 lần để tìm kiếm giá trị khóa 2. Bất cứ khi nào số 2 được xác định, một biến tạm thời giả sử bộ đếm bằng 1 và nếu phần tử khác 2 thì chuyển sang tiếp theo phần tử mà không tăng bộ đếm. Cuối cùng -

  • Nếu bộ đếm là 0 có nghĩa là khóa không có trong một mảng thì xác suất sẽ là 0

  • Nếu bộ đếm là bất kỳ giá trị nào khác 0 thì hãy áp dụng công thức để tính xác suất của khóa ‘’ k ’

    Probability (k) =tổng số lần xuất hiện ‘k’ / tổng số phần tử

    Tổng số lần xuất hiện ‘K’ =4

    Tổng số phần tử trong một mảng =7

    Xác suất của khóa (k) =4/7 =0,57

Thuật toán

Start
Step 1→ declare function to calculate probability of key in an array
   float probab_key(int arr[], int size, int key)
      declare float count = 0
      Loop For int i = 0 and i < size and i++
      IF arr[i] = key
         Set count++
      End
   End
   return count / size
Step 2→ In main()
   Declare int arr[] = { 1, 2, 3, 4, 5, 6}
   Declare int key = 5
   Declare int size = sizeof(arr) / sizeof(arr[0])
   Call probab_key(arr, size, key)
Stop

Ví dụ

#include <bits/stdc++.h>
using namespace std;
// calculate the probability of a key in an array
float probab_key(int arr[], int size, int key){
   float count = 0;
   for (int i = 0; i < size; i++){
      if (arr[i] == key)
         count++;
   }
   return count / size;
}
int main(){
   int arr[] = { 1, 2, 3, 4, 5, 6};
   int key = 5;
   int size = sizeof(arr) / sizeof(arr[0]);
   cout <<"probability of a key "<<key<<" in an array is :"<<probab_key(arr, size, key);
   return 0;
}

Đầu ra

Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

probability of a key 5 in an array is :0.166667