Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

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


Cho mảng kích thước 'n', nhiệm vụ là tìm xác suất xuất hiện của phần tử k trong mảng.

Duyệt mảng, đếm số lần xuất hiện của k. Nếu không có → xác suất 0. Ngược lại: P(k) = số lần xuất hiện / tổng số phần tử.

Đầu vào 1

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

Đầu ra 1

xác suất khóa 5 = 0.166667

Đầu vào 2

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

Đầu ra 2

xác suất khóa 8 = 0

Thuật toán

float xacSuatKhoa(int arr[], int size, int key) {
    float dem = 0;
    for (int i = 0; i < size; i++)
        if (arr[i] == key) dem++;
    return dem / size;
}

Ví dụ mã nguồn

#include <bits/stdc++.h>
using namespace std;

float xacSuatKhoa(int arr[], int size, int key) {
    float dem = 0;
    for (int i = 0; i < size; i++)
        if (arr[i] == key) dem++;
    return dem / size;
}

int main() {
    int arr[] = {1, 2, 3, 4, 5, 6};
    int key = 5;
    int size = sizeof(arr) / sizeof(arr[0]);
    cout << "xác suất khóa " << key << " = " << xacSuatKhoa(arr, size, key);
    return 0;
}

Kết quả chạy chương trình

xác suất khóa 5 = 0.166667