C++中陣列中存在鍵K的機率
給定一個大小為'n'的陣列,任務是找到如果給定元素k在陣列中,則該元素的機率。
遍歷整個陣列直到'n'(等於陣列中的元素個數),並搜尋給定元素或鍵'k'。如果該元素存在於陣列中,則計算其機率;否則,列印0。
輸入
arr[] = { 1, 2, 3, 4, 5, 6}
K = 5輸出
probability of a key 5 in an array is :0.166
輸入
arr[] = { 1,2,3,4,5,6,7 }
K = 8輸出
probability of a key 5 in an array is :0
解釋

上面給定的是一個大小為7的陣列和一個鍵2,因此陣列將被遍歷7次以搜尋鍵值2。每當識別出2時,將一個臨時變數(例如計數器)遞增1;如果元素不是2,則無需遞增計數器,直接移動到下一個元素。最後:
如果計數器為0,則表示鍵不存在於陣列中,則機率為0
如果計數器為0以外的任何值,則應用公式計算鍵“k”的機率
機率(k) = “k”出現的總數 / 元素總數
“K”出現的總數 = 4
陣列中的元素總數 = 7
鍵(k)的機率 = 4 / 7 = 0.57
演算法
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示例
#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;
}輸出
如果執行上述程式碼,它將生成以下輸出:
probability of a key 5 in an array is :0.166667
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP