Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 배열의 변칙 수

<시간/>

이 튜토리얼에서는 주어진 배열에서 변칙의 수를 찾는 프로그램을 작성할 것입니다.

숫자와 다른 모든 숫자 사이의 절대 차이가 주어진 숫자 k보다 크면 숫자는 주어진 배열의 이상입니다. 예를 들어 보겠습니다.

입력

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

출력

4

모든 숫자와 다른 숫자 사이의 절대 차이는 k보다 큽니다.

알고리즘

  • 배열을 초기화합니다.

  • 배열을 반복합니다.

    • 요소를 가져와 배열을 반복합니다.

      • 두 숫자의 절대차를 구하세요.

      • 절대 차이가 k보다 작거나 같지 않으면 변칙 수를 늘립니다.

구현

다음은 위의 알고리즘을 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;
}

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

4