เราได้รับสองอาร์เรย์ขององค์ประกอบจำนวนเต็มสมมติว่า arr_1[] และ arr_2[] และงานคือการเลือกหนึ่งองค์ประกอบจาก arr_1[] และอีกหนึ่งจาก arr_2[] เพื่อสร้างคู่ แล้วคำนวณผลรวมขององค์ประกอบในคู่และตรวจสอบว่าผลรวมที่ได้เป็นเลขคู่หรือไม่
อินพุต
int arr_1[] = {2, 3, 7, 1, 4} int arr_2[] = { 2, 4, 1, 3}เอาต์พุต
Count Pairs from two arrays with even sum are: 10
คำอธิบาย
เราจะสร้างคู่โดยใช้ทั้งสองอาร์เรย์และคู่ที่สร้างได้คือ-: (2, 2) = 4(ถูกต้อง), (2, 4) = 6(ถูกต้อง), (2, 1) = 3(ไม่ถูกต้อง), (2, 3) = 5(ไม่ถูกต้อง), (3, 2) = 5(ไม่ถูกต้อง), (3, 4) = 7(ไม่ถูกต้อง), (3, 1) = 4(ถูกต้อง), (3, 3) = 5(ถูกต้อง), (7, 2) = 9(ไม่ถูกต้อง), (7, 4) = 11(ไม่ถูกต้อง), (7, 1) = 8(ถูกต้อง), (7, 3) = 10(ถูกต้อง), (1, 2) = 3(ไม่ถูกต้อง), (1, 4) = 5(ไม่ถูกต้อง), (1, 1) = 2(ถูกต้อง), (1, 3) = 4(ถูกต้อง), (4, 2) = 6(ถูกต้อง), (4, 4) = 8(ถูกต้อง), (4, 1) = 5(ไม่ถูกต้อง), (4, 3) = 7(ไม่ถูกต้อง) มี 10 คู่ที่ถูกต้องที่สร้างจากอาร์เรย์ทั้งสองที่มีผลรวมเป็นเลขคู่
อินพุต
int arr_1[] = {3, 1, 2} int arr_2[] = { 2, 4}เอาต์พุต
Count Pairs from two arrays with even sum are: 2
คำอธิบาย
เราจะสร้างคู่โดยใช้ทั้งสองอาร์เรย์และคู่ที่สร้างได้คือ-: (3, 2) = 5(ไม่ถูกต้อง), (3, 4) = 7(ไม่ถูกต้อง), (1, 2) = 3(ไม่ถูกต้อง), (1, 4) = 5(ไม่ถูกต้อง), (2, 2) = 4(ถูกต้อง), (2, 4) = 6(ถูกต้อง) มี 2 คู่ที่ถูกต้องที่สร้างจากอาร์เรย์ทั้งสองที่มีผลรวมเป็นเลขคู่
วิธีการที่ใช้ในโปรแกรมด้านล่าง
รับสองอาร์เรย์ขององค์ประกอบจำนวนเต็มและคำนวณขนาดของทั้งสองอาร์เรย์และส่งข้อมูลไปยังฟังก์ชันเพื่อประมวลผลต่อ
ใช้ตัวแปรชั่วคราวเป็น count เพื่อเก็บจำนวนคู่ที่มีผลรวมเป็นเลขคู่
เริ่มลูป FOR จาก i = 0 ถึงขนาดของอาร์เรย์ 1
ภายในลูป เริ่มลูป FOR อีกอันจาก j = 0 ถึงขนาดของอาร์เรย์ 2
ตอนนี้เก็บผลรวมของ arr_1[i] และ arr_2[j] ในตัวแปรจำนวนเต็มสมมติว่า sum
ตรวจสอบ IF sum % 2 == 0 หมายถึงผลรวมเป็นเลขคู่หรือไม่ ถ้าใช่เพิ่ม count ขึ้น 1
คืนค่า count
พิมพ์ผลลัพธ์
รับสองอาร์เรย์ขององค์ประกอบจำนวนเต็มและคำนวณขนาดของทั้งสองอาร์เรย์และส่งข้อมูลไปยังฟังก์ชันเพื่อประมวลผลต่อ
ใช้ตัวแปรชั่วคราวเป็น count เพื่อเก็บจำนวนคู่ที่มีผลรวมเป็นเลขคู่
เริ่มลูป FOR จาก i = 0 ถึงขนาดของอาร์เรย์ 1
ภายในลูป เริ่มลูป FOR อีกอันจาก j = 0 ถึงขนาดของอาร์เรย์ 2
ตอนนี้เก็บผลรวมของ arr_1[i] และ arr_2[j] ในตัวแปรจำนวนเต็มสมมติว่า sum
ตรวจสอบ IF sum % 2 == 0 หมายถึงผลรวมเป็นเลขคู่หรือไม่ ถ้าใช่เพิ่ม count ขึ้น 1
คืนค่า count
พิมพ์ผลลัพธ์
ตัวอย่าง
#include <iostream> using namespace std; int even_pair(int arr_1[], int size_arr1, int arr_2[], int size_arr2){ int count = 0; int odd = 0; for(int i = 0 ;i <size_arr1 ; i++){ for(int j = 0; j<size_arr2 ; j++){ int even = arr_1[i] + arr_2[j]; if(even % 2 == 0){ count++; } } } return count; } int main(){ int arr_1[] = {2, 3, 7, 1, 4}; int arr_2[] = { 2, 4, 1, 3}; int size_arr1 = sizeof(arr_1) / sizeof(arr_1[0]); int size_arr2 = sizeof(arr_2) / sizeof(arr_2[0]); cout<<"Count Pairs from two arrays with even sum are: "<<even_pair(arr_1, size_arr1, arr_2, size_arr2); return 0; }เอาต์พุต
ถ้าเรารันโค้ดด้านบนจะได้ผลลัพธ์ดังนี้ −
Count Pairs from two arrays with even sum are: 10