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