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

เพิ่มผลรวมขององค์ประกอบ X+Y ให้สูงสุดโดยเลือกองค์ประกอบ X และ Y จากอาร์เรย์ที่ 1 และ 2 ใน C++


สำหรับอาร์เรย์สองอาร์เรย์ที่กำหนดแต่ละขนาด N ภารกิจคือการค้นหาผลรวมสูงสุดโดยการเลือกองค์ประกอบ X จากองค์ประกอบอาร์เรย์ 1 และองค์ประกอบ Y จากอาร์เรย์ 2

ตอนนี้มาทำความเข้าใจสิ่งที่เราต้องทำโดยใช้ตัวอย่าง -

ป้อนข้อมูล

<ก่อน>arr1 ={1,2,3,4,5}; X=2arr2 ={1,3,5,2,7}; ป=3

ผลผลิต

ผลรวมสูงสุดที่นี่คือ :24

คำอธิบาย − เรากำลังเลือกตัวเลข 2 ตัวจาก arr1 และ 3 จาก arr2 2 ที่ใหญ่ที่สุดของ arr1 คือ 4,5 และ 3 ที่ใหญ่ที่สุดของ arr2 คือ 3,5,7 ผลรวมของ 5 องค์ประกอบนี้คือ 24 ซึ่งสูงสุดตามความต้องการ

ป้อนข้อมูล

<ก่อน>arr1 ={10,13,16,14}; X=1arr2 ={4,1,2,1}; ป=2

ผลผลิต

ผลรวมสูงสุดที่นี่คือ :22

คำอธิบาย − เรากำลังเลือก 1 หมายเลขจาก arr1 และ 2 จาก arr2 ที่ใหญ่ที่สุดของ arr1 คือ 16 และ 2 ที่ใหญ่ที่สุดของ arr2 คือ 4,2 ผลรวมของ 5 องค์ประกอบนี้คือ 22 ซึ่งสูงสุดตามความต้องการ

แนวทางที่ใช้ในโปรแกรมด้านล่างดังนี้

  • รับอาร์เรย์อินพุต arr1[] และ arr2[] และค่าสำหรับ X และ Y..

  • เรียงลำดับสองอาร์เรย์จากน้อยไปหามาก

  • ใช้องค์ประกอบ X สุดท้ายจาก arr1 และ Y จาก arr2 เนื่องจากจะเป็นค่าสูงสุด

  • ในที่สุด เราคืนค่าผลรวมขององค์ประกอบที่เลือกในขั้นตอนที่ 3 เนื่องจากจะเป็นค่าสูงสุด

  • หมายเหตุ:sort(arr[],int) จะถือว่าส่งคืนอาร์เรย์ที่จัดเรียง

ตัวอย่าง

#include ใช้เนมสเปซ std;int max_sum(int arr1[],int arr2[], int length,int X,int Y){ //สำหรับการเรียงลำดับอาร์เรย์ sort(arr1,length); เรียงลำดับ(arr2,ความยาว); int sum=0; int ฉัน; //การเพิ่มองค์ประกอบ X สุดท้ายจาก arr1 และองค์ประกอบ Y สุดท้ายจาก arr2 for(i=0;i 

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น เราจะได้ผลลัพธ์ดังต่อไปนี้ -

ผลรวมสูงสุดขององค์ประกอบ X+Y โดยการเลือกองค์ประกอบ X และ Y จากอาร์เรย์ที่ 1 และ 2 คือ 19