You are on page 1of 1

ปัญหา เรียงเบอร์สามตัว (3num_sort)

จงเขียนโปรแกรมทีร่ ับเลขจำานวนเตมมเขาามาสามตัวที่ไม่ซ้ำากันคืออ A, B และ C จากนั้นโปรแกรมจะพิมพ์เลข


ทั้งสามออกมาโดยเรียงจากนาอยไปมาก เลขแต่ละตัวคืั่นดาวยช่องว่าง

ตัวอย่าง
ตัวอย่างที่ 1 ตัวอย่างที่ 2
ขาอมูลเขาา ผลลัพธ์ ขาอมูลเขาา ผลลัพธ์
5 1 3 1 3 5 3 5 1 1 3 5

ตัวอย่างที่ 3 ตัวอย่างที่ 4
ขาอมูลเขาา ผลลัพธ์ ขาอมูลเขาา ผลลัพธ์
0 -1 -2 -2 -1 0 5 3 2 2 3 5

ตัวอย่างที่ 5 ตัวอย่างที่ 6
ขาอมูลเขาา ผลลัพธ์ ขาอมูลเขาา ผลลัพธ์
0 -1 2 -1 0 2 7 11 -1000 -1000 7 11

คำาแนะนำา เราสามารถใชาวิธีหาคื่าสูงสด คื่าต่ำาสด และ คื่าตรงกลางไวากอ่ น แลาวกมพมิ พ์ออกมาตามนั้นเลย โดยโคืาด


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

You might also like