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

ค้นหาความถี่ของค่าที่น้อยที่สุดในอาร์เรย์ใน C++


เราจะมาดูวิธีการหาความถี่ขององค์ประกอบที่เล็กที่สุดในอาร์เรย์ สมมติว่าองค์ประกอบอาร์เรย์คือ [5, 3, 6, 9, 3, 7, 5, 8, 3, 12, 3, 10] องค์ประกอบที่เล็กที่สุดคือ 3 และความถี่ขององค์ประกอบนี้คือ 4 ดังนั้นเอาต์พุตคือ 4 .

เพื่อแก้ปัญหานี้ เราจะหาองค์ประกอบที่เล็กที่สุดของรายการ จากนั้นเราจะนับการเกิดขึ้นของตัวเลขแรก และนั่นจะเป็นผลลัพธ์

ตัวอย่าง

#include<iostream>
using namespace std;
   int min_element(int arr[], int n){
   int min = arr[0];
   for(int i = 1; i<n; i++){
      if(arr[i] < min)
         min = arr[i];
   }
   return min;
   }
   int smallestNumFreq(int *arr, int n) {
      int minimum = min_element(arr, n);
      int count = 0;
   for(int i = 0; i < n; i++){
      if(arr[i] == minimum)
      count++;
   }
   return count;
}
int main() {
   int arr[] = {5, 3, 6, 9, 3, 7, 5, 8, 3, 12, 3, 10};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout << "Frequency of smallest element: " << smallestNumFreq(arr, n);
}

ผลลัพธ์

Frequency of smallest element: 4