Devdit
 

เช็คค่าซ้ำใน array C++ ด้วย unordered_set

2.8K

เช็คค่าซ้ำใน array C++ ด้วย unordered_set บทความนี้สอนเขียนโปรแกรมเช็คว่าภายในตัวแปร array มีค่าที่ซ้ำกันหรือไม่ โดยใช้คำสั่งในกลุ่ม unordered_set พร้อมแสดงผลลัพธ์ออกสู่หน้าจอ สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง เช็คค่าซ้ำใน array C++ ด้วย unordered_set

#include <iostream>
#include <unordered_set>
#include <iterator>

using namespace std;

int main() {
    int arr[] = {5, 6, 8, 4, 4, 9};
    int size = sizeof(arr) / sizeof(*arr);

    unordered_set<int> distinct(begin(arr), end(arr));
    bool b = size != distinct.size();
  
    if (b) {
        cout << "มีค่าซ้ำใน Array";
    } else {
        cout << "ไม่มีค่าซ้ำใน Array";
    }
 
    return 0;
}

ผลลัพธ์

มีค่าซ้ำใน Array

คำอธิบาย

เช็คค่าซ้ำใน array C++ ด้วย unordered_set มีรายละเอียดการเขียนโปรแกรมดังนี้

1. inclide iostream, unordered_set และ iterator ไว้ที่ด้านบนของโค้ด

2. สร้างตัวแปร array ชื่อ arr พร้อมค่าเริ่มต้น 5, 6, 8, 4, 4, 9

3. สร้างตัวแปรชื่อ size เก็บขนาดของ array arr เป็นชนิดตัวเลข (int)

4. ใช้คำสั่ง unordered_set ร่วมกับ distinct เพื่อหาว่ามีค่าที่ซ้ำกันใน array arr หรือไม่

5. กรณีมีค่าซ้ำตัวแปร boolean b จะมีค่าเท่ากับจริง (true) แสดงข้อความ “มีค่าซ้ำใน Array”

6. กรณีไม่มีค่าซ้ำตัวแปร boolean b จะมีค่าเท่ากับเท็จ (false) แสดงข้อความ “ไม่มีค่าซ้ำใน Array”

เขียน 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ