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

Số điểm bất thường trong một mảng trong C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình tìm số điểm bất thường trong mảng đã cho.

Một số là số bất thường trong mảng đã cho nếu hiệu số tuyệt đối giữa số đó và tất cả các số khác lớn hơn số k đã cho. Hãy xem một ví dụ.

Đầu vào

arr = [3, 1, 5, 7]
k = 1

Đầu ra

4

Chênh lệch tuyệt đối giữa tất cả các số với các số khác lớn hơn k.

Thuật toán

  • Khởi tạo mảng.

  • Lặp lại trên mảng.

    • Lấy phần tử và lặp lại trên mảng.

      • Tìm hiệu số tuyệt đối giữa hai số.

      • Nếu không có sự khác biệt tuyệt đối nào nhỏ hơn hoặc bằng k thì hãy tăng số lượng dị thường.

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 getAnomaliesCount(int arr[], int n, int k) {
   int count = 0;
   for (int i = 0; i < n; i++) {
      int j;
      for (j = 0; j < n; j++) {
         if (i != j && abs(arr[i] - arr[j]) <= k) {
            break;
         }
      }
      if (j == n) {
         count++;
      }
   }
   return count;
}
int main() {
   int arr[] = {3, 1, 5, 7}, k = 1;
   int n = 4;
   cout << getAnomaliesCount(arr, n, k) << 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.

4