ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่จะหา 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
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น