ช่วยหน่อยครับพอดีจะแยกเซ็ต อาเรย์ในภาษาซีอะครับ

โจทย์ 98,23,17,6,70,45,52,80,44,61,38,8,13,15,39,26,88,10,66,28  
แล้วผมทำการเรียงลำดับจากน้อยไปมากครับ
6,8,10,13,15,17,23,26,28,38,39,44,45,52,61,66,70,80,88,98
ผมจะเอาตัวเลขทั้งหมดมาบวกกันครับ เพื่อหาค่ากลาง ในโจทย์นี้จะได้
=  827/2    =  413.5
เพราะฉะนั้นจะได้  X  =  413  ,  Y  =  414  //ท่านใดพอมีวิธีปัดค่า ขึ้นและลง แบบตัวอย่าง ในภาษาซีได้มั้ง ครับ


   และผมก็ติดตรงที่จะ แยกเป็น เซ็ต อะครับ ผมจะใช้ลูป for ในการแยกครับ ท่านไดพอจะมีวิธีแนะนำมั้งครับ
หรือว่าเอาไปเขียนในภาษาอื่น ดี
ผมทำการแยกเซ็ตอยู่สองเซ็คครับ
       SetA                                        SetB            
[6,13,15,26,28,44,45,66,70,98]          [8,10,17,23,38,39,52,61,80,88]

การเรียงลำดับของผม โดยยกตัว อย่างง่ายๆ ครับ เช่น เลข 1-10 นะครับ
เริ่มจาก เซ็ท A={1}                B={2 3} ...
                 A={1 4 5  }        B= {2 3 6 7 }  ....
                 A ={1 4 5 8 9 }  B ={2 3 6 7 10}
เพื่อ เฉลี่ยตัวเลขให้มีระยะห่างระหว่างตัวเลขให้น้อยที่สุดอะครับ

  ถ้าได้เซ็ต A= [6,13,15,26,28,44,45,66,70,98]       B=  [8,10,17,23,38,39,52,61,80,88]
ผมจะทำการสลับกันอะครับเพื่อที่จะให้ค่ามันตรงกับค่ากลางที่ตั้งไว้ โดยสลับทีละตัว
เช่นสลับ 6 กับ 8  A= [8,13,15,26,28,44,45,66,70,98]  B=  [6,10,17,23,38,39,52,61,80,88]

ถ้ายังค่ายังไม่ได้ ให้คืนค่า แล้ว สลับ ค่า ต่อไป
เช่นสลับ 6 กับ 10  A= [10,13,15,26,28,44,45,66,70,98]  B=  [8,6,17,23,38,39,52,61,80,88]
แต่ถ้าได้ค่ากลางหรือใกล้ เคียงค่ากลางมากที่สุดให้ หยุดอะครับ

// แล้วก็ฟังก์ชันในการสลับเนียต้องเขียน ยังไง ครับ
         ใครพอจะมีวิธีเขียนภาษาซีแบบนี้มั้ง ครับ หรือ ช่วย แนะนำภาษาที่ให้เขียน อัลกอริทึม แบบนี้ง่ายๆมีไหม ครับ
                 ****ขอบคุณผู้ให้ความรู้ทุกท่านล่วงหน้าด้วยครับ ที่มาตอบคำถาม****
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่