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