Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

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

설명

C++의 배열에 있는 키 K의 확률

위에 주어진 크기가 7인 배열과 키 2가 있으므로 배열은 키 값 2를 찾기 위해 7번 탐색됩니다. 2가 식별될 때마다 임시 변수를 1씩 증가시키고 요소가 2가 아닌 경우 다음으로 이동합니다. 카운터를 증가시키지 않고 요소. 결국 -

  • 카운터가 0이면 키가 배열에 존재하지 않을 확률이 0이 됩니다.

  • 카운터가 0 이외의 값이면 키 ''''의 확률을 계산하는 공식을 적용합니다.

    확률(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