Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ความน่าจะเป็นของคีย์ K มีอยู่ในอาร์เรย์ใน C++


กำหนดด้วยอาร์เรย์ขนาด '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

คำอธิบาย

ความน่าจะเป็นของคีย์ K มีอยู่ในอาร์เรย์ใน C++

ด้านบนเป็นอาร์เรย์ขนาด 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