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

จำนวนองค์ประกอบที่น้อยกว่าหรือเท่ากับจำนวนที่กำหนดในอาร์เรย์ย่อยที่กำหนดใน C++


คุณจะได้รับตัวเลขและดัชนีขอบเขตล่างและขอบเขตบนของอาร์เรย์ย่อย คุณต้องนับองค์ประกอบจำนวนหนึ่งที่น้อยกว่าหรือเท่ากับจำนวนที่กำหนด มาดูตัวอย่างกัน

ป้อนข้อมูล

arr = [1, 2, 3, 4, 5, 6, 7, 8]
k = 4
lower = 0
upper = 5

ผลผลิต

4

มี 4 องค์ประกอบระหว่างดัชนี 0 ถึง 5 ที่น้อยกว่าหรือเท่ากับ 4

อัลกอริทึม

  • เริ่มต้นอาร์เรย์ ตัวเลข และดัชนีอาร์เรย์ย่อย

  • เริ่มต้นการนับเป็น 0

  • เขียนลูปที่วนซ้ำจากดัชนีล่างของอาร์เรย์ย่อยไปยังดัชนีบนของอาร์เรย์ย่อย

    • หากองค์ประกอบปัจจุบันน้อยกว่าหรือเท่ากับจำนวนที่กำหนด ให้เพิ่มจำนวนขึ้น

  • คืนค่าการนับ

การนำไปใช้

ต่อไปนี้เป็นการนำอัลกอริธึมข้างต้นไปใช้ใน C++

#include <bits/stdc++.h>
using namespace std;
int getElementsCount(int arr[], int n, int lower, int upper, int k) {
   if (lower < 0 || upper >= n || lower > upper) {
      return 0;
   }
   int count = 0;
   for (int i = lower; i <= upper; i++) {
      if (arr[i] <= k) {
         count += 1;
      }
   }
   return count;
}
int main() {
   int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
   int n = 8, k = 4;
   cout << getElementsCount(arr, n, 0, 3, k) << endl;
   cout << getElementsCount(arr, n, 4, 7, k) << endl;
   return 0;
}

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

4
0