Computer >> Máy Tính >  >> Lập trình >> C ++

Số chỉ mục có các phần tử bằng nhau trong phạm vi nhất định trong C ++

Bạn được cung cấp một mảng và phạm vi chỉ mục. Bạn cần đếm tổng số phần tử liền kề bằng nhau trong phạm vi đã cho.

Hãy xem một ví dụ.

Đầu vào

arr = [1, 2, 2, 2, 3, 3, 4]
lower = 1
upper = 5

Đầu ra

3

Thuật toán

  • Khởi tạo mảng và phạm vi chỉ mục.

  • Viết một vòng lặp lặp lại từ chỉ số dưới của phạm vi đến chỉ mục trên của phạm vi.

    • So sánh phần tử với phần tử trước đó hoặc phần tử tiếp theo.

    • Tăng số lượng nếu chúng bằng nhau.

  • Trả lại số đếm.

Thực hiện

Sau đây là cách thực hiện thuật toán trên trong C ++

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

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

10