เราได้รับอาร์เรย์ของจำนวนเต็ม เป้าหมายคือการหาจำนวนองค์ประกอบในอาร์เรย์ที่ตรงตามเงื่อนไขต่อไปนี้ -
สำหรับแต่ละองค์ประกอบ จำนวนตัวเลขที่มากกว่าหรือเท่ากับที่มีอยู่ในอาร์เรย์ควรเท่ากับมันทุกประการ ไม่รวมองค์ประกอบเอง หากองค์ประกอบเป็น X ดังนั้นอาร์เรย์จะมีตัวเลข X มากกว่าหรือเท่ากับ X (ไม่รวมองค์ประกอบ)
อินพุต
Arr[]= { 0,1,2,3,4,9,8 }
ผลลัพธ์
Elements exactly greater than equal to itself : 1
คำอธิบาย − องค์ประกอบและตัวเลข>=ถึงมัน -
Arr[0]: 6 elements are >= 0 , 6!=0 count=0 Arr[1]: 5 elements are >= 1 , 5!=1 count=0 Arr[2]: 4 elements are >= 2 , 4!=2 count=0 Arr[3]: 3 elements are >= 3 , 3==3 count=1 Arr[4]: 2 elements are >= 4 , 2!=4 count=1 Arr[4]: 0 elements are >= 9 , 0!=9 count=1 Arr[6]: 1 element is >= 8 , 1!=8 count=1
3 เป็นองค์ประกอบเดียวที่องค์ประกอบ 3 คือ>=ถึง (4,8,9)
อินพุต
Arr[]= { 1,1,1,1,1 }
ผลลัพธ์
Elements exactly greater than equal to itself : 0
คำอธิบาย − องค์ประกอบทั้งหมดเท่ากันและนับ !=1
แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
-
อาร์เรย์จำนวนเต็ม Arr[] ใช้เพื่อเก็บจำนวนเต็ม
-
จำนวนเต็ม 'n' เก็บความยาวของอาร์เรย์
-
ฟังก์ชัน findcount(int arr[],int n) รับอาร์เรย์และขนาดของอาร์เรย์เป็นอินพุตและคืนค่าการนับจำนวนดังที่ X อธิบายไว้ก่อนหน้านี้
-
การนับตัวแปรใช้เพื่อเก็บการนับจำนวนเช่น X
-
เริ่มต้น ans=0 ซึ่งจะนับจำนวนดังกล่าว
-
สำรวจอาร์เรย์โดยเริ่มจากองค์ประกอบแรก ( index=0 ) โดยใช้ for loop
-
ด้านในสำหรับวนซ้ำจากองค์ประกอบเริ่มต้นอีกครั้ง หากมี arr[j]>=arr[j] เช่น thati!=j ให้เพิ่มการนับ
-
หลังจากสิ้นสุด j loop ให้เปรียบเทียบ count กับ arr[i] หาก count==arr[i] (องค์ประกอบ arr[i] คือ>=arr[i] ให้เพิ่มคำตอบ 'ans'
-
หลังจากสิ้นสุดทั้งสอง for loops ให้ส่งคืนผลลัพธ์ใน 'ans'
ตัวอย่าง
#include <iostream> #include <algorithm> using namespace std; int findcount(int arr[],int n){ sort(arr,arr+n); int count=0; int ans=0; for(int i=0;i<n;i++){ count=0; for(int j=0;j<n;j++){ if(arr[j]>=arr[i] && i!=j) count++; } if(count==arr[i]) ans++; } return ans; } int main(){ int Arr[]= { 0,1,2,3,4,5,6 }; int k=7; int n=sizeof(Arr)/sizeof(Arr[0]); std::cout<<"Elements exactly greater than equal to itself : "<<findcount(Arr,n); return 0; }
ผลลัพธ์
Elements exactly greater than equal to itself : 1