ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่จะหา triplet ในอาร์เรย์ซึ่งมีผลรวมเท่ากับจำนวนที่กำหนด
มาดูขั้นตอนการแก้ปัญหากัน
-
สร้างอาร์เรย์ด้วยข้อมูลจำลอง
-
เขียนลูปภายใน 3 วงสำหรับองค์ประกอบ 3 รายการที่วนซ้ำจนจบอาร์เรย์
-
เพิ่มสามองค์ประกอบ
-
เปรียบเทียบผลรวมด้วย 0
-
หากทั้งคู่เท่ากัน ให้พิมพ์องค์ประกอบและทำลายลูป
-
ตัวอย่าง
มาดูโค้ดกันเลย
#include<bits/stdc++.h>
using namespace std;
void findTripletsWithSumZero(int arr[], int n){
bool is_found = false;
for (int i = 0; i < n-2; i++) {
for (int j = i+1; j < n-1; j++) {
for (int k = j+1; k < n; k++) {
if (arr[i]+arr[j]+arr[k] == 0) {
cout << arr[i] << " " << arr[j] << " " << arr[k] << endl;
is_found = true;
}
}
}
}
if (is_found == false) {
cout << "Triplets doesn't exist"<<endl;
}
}
int main() {
int arr[] = {0, 1, -1, 2, 2, -4, 3, 4};
findTripletsWithSumZero(arr, 8);
return 0;
} ผลลัพธ์
หากคุณรันโปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้
0 1 -1 0 -4 4 1 -4 3 2 2 -4
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น