Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาแฝดที่รวมเป็นค่าที่กำหนดใน C++


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่จะหา triplet ในอาร์เรย์ซึ่งมีผลรวมเท่ากับจำนวนที่กำหนด

มาดูขั้นตอนการแก้ปัญหากัน

  • สร้างอาร์เรย์ด้วยข้อมูลจำลอง

  • เขียนลูปภายใน 3 ลูปสำหรับองค์ประกอบ 3 รายการซึ่งจะวนซ้ำจนจบอาร์เรย์

    • เพิ่มสามองค์ประกอบ

    • เปรียบเทียบผลรวมกับตัวเลขที่กำหนด

    • หากทั้งคู่เท่ากัน ให้พิมพ์องค์ประกอบและทำลายลูป

ตัวอย่าง

มาดูโค้ดกันเลย

#include <bits/stdc++.h>
using namespace std;
bool findTriplet(int arr[], int arr_size, int sum) {
   for (int i = 0; i < arr_size - 2; i++) {
      for (int j = i + 1; j < arr_size - 1; j++) {
         for (int k = j + 1; k < arr_size; k++) {
            if (arr[i] + arr[j] + arr[k] == sum) {
               cout << arr[i] << " " << arr[j] << " " << arr[k] << endl;
               return true;
            }
         }
      }
   }
   return false;
}
int main() {
   int arr[] = { 1, 2, 3, 4, 5, 6, 7 };
   findTriplet(arr, 7, 12);
   return 0;
}

ผลลัพธ์

หากคุณรันโปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

1 4 7

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น