คำชี้แจงปัญหา
จากสองอาร์เรย์ เราจำเป็นต้องรวมสองอาร์เรย์ในลักษณะที่อาร์เรย์ที่รวมกันมีองค์ประกอบสำรองของอาร์เรย์ที่หนึ่งและที่สอง หากหนึ่งในอาร์เรย์มีองค์ประกอบเพิ่มเติม ก็ควรผนวกองค์ประกอบเหล่านี้ต่อท้ายอาร์เรย์ที่รวมกัน
arr1[] ={10, 20, 30, 40}arr2[] ={-10, -20, -30, -40}ผลลัพธ์[] ={10, -10, 20, -20, 30, -30, 40, -40}
อัลกอริทึม
<ก่อน>1. สำรวจทั้งอาร์เรย์และองค์ประกอบทีละรายการในอาร์เรย์ผลลัพธ์2 หากอาร์เรย์ตัวใดตัวหนึ่งหมดลง ให้ใส่องค์ประกอบที่เหลือของอาร์เรย์อื่นลงในอาร์เรย์ผลลัพธ์ตัวอย่าง
#include#define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) โดยใช้เนมสเปซ std;void AlternativeMergedArray(int *arr1, int n1, int *arr2, int n2,int *ผลลัพธ์){ int i, j, k; ผม =0; เจ =0; k =0; ในขณะที่ (i ผลลัพธ์
เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้น มันสร้างผลลัพธ์ต่อไปนี้ -
อาร์เรย์แรก:10 20 30 40อาร์เรย์ที่สอง:-10 -20 -30 -40ผลลัพธ์อาร์เรย์:10 -10 20 -20 30 -30 40 -40