โจทย์ครั้งนี้คือ เรามีไฟล์ input.txt ที่มีข้อมูลเรคอร์ดละหนึ่งบรรทัด แต่ละเรคอร์ดมีฟิวด์แยกด้วยเครื่องหมาย | เป้าหมายคือ เราต้องการให้แสดงผลลัพธ์ออกจอ ให้เรียงข้อมูลเรคอร์ดจากตัวเลขในฟิวด์แรกเริ่มจากน้อยไปมาก และในแต่ละเรคอร์ดที่แสดง แต่ละฟิวด์จะเรียงจากน้อยไปมากแยกด้วยช่องว่าง เช่นตัวอย่างข้างล่าง
ข้อมูลอินพุท ไฟล์ input.txt
3|hello|world|bangkok
4|monkey|ant|dog|cow|cat
2|pink|yellow|red|magenta
1|earth|sun|jupiter|pluto
ผลลัพธ์ที่ต้องการ พิมพ์ออกจอ
1 earth jupiter pluto sun
2 magenta pink red yellow
3 bangkok hello world
4 ant cat cow dog monkey
ผมคิดว่าตัวอย่างนี้สั้นพอที่จะใช้เวลาเขียนภายในสิบห้านาที และผมอยากให้สมาชิกทุกคนลองคิดและใช้เวลาเขียนแก้ปัญหาด้วยภาษาที่ตนถนัด หรืออยากลองใช้ โดยมีกติกาดังนี้
- ใส่ซอร์สโค้ดด้วยการตอบกระทู้นี้ และ copy & paste ซอร์สโค้ดไว้ใน code tag
- โค้ดที่เขียนควรกระชับ อ่านง่าย ไม่จำเป็นต้องคอมเมนต์ ยกเว้นส่วนที่คิดว่าจะมีประโยชน์ในการไล่โค้ด
- โค้ดไม่จำเป็นต้องเพอร์เฟค ขอให้ทำงานได้ ถ้ามีจุดที่น่าปรับปรุง สมาชิกท่านอื่นสามารถวิจารณ์เชิงสร้างสรรค์ให้ได้
- ช่วยระบุชื่อไฟล์ซอร์สโค้ดและภาษาที่ใช้ เผื่อคนอื่นจะสามารถ copy ไปทดลองรันได้
- อยากให้มีตัวอย่างหลายๆภาษา ใครอยากลองเขียนภาษาไหน ลองใช้โจทย์นี้เป็นแบบฝึกหัด และจะเป็นการเปิดหูเปิดตาให้สมาชิกที่ไม่คุ้นเคยกับภาษาอื่น ดูว่าหน้าตาภาษาอื่นเป็นอย่างไร
- ทุกคนสามารถวิจารณ์เชิงสร้างสรรค์โค้ดที่คนอื่นโพสต์ไว้ เพื่อเป็นประโยชน์ต่อการปรับปรุงการเขียนโปรแกรม
ผมอยากให้สมาชิกทั้งเก่าทั้งใหม่ ทั้งที่โพสต์บ่อยๆ หรือกลุ่มอ่านอย่างเดียว มีโอกาสได้ร่วมมือกันโพสต์โค้ดกันเยอะๆ ลองคิดและหัดเขียนกัน ดูสิว่างานนี้จะมีคนร่วมมือกันมากแค่ไหน และจะมีภาษาไหนให้ดูกันบ้าง
Quote
- การเรียงเรคอร์ดจากคอลัมน์แรก ต้องเรียงตามค่าตัวเลข เช่น 10 ตามหลัง 9 จะเรียงตามสตริงไม่ได้
- ในแต่ละเรคอร์ด จะคงค่าตัวเลขในคอลัมน์แรกไว้ และเรียงค่าในคอลัมน์ที่สองเป็นต้นไป
This post has been edited by นายข้าวโพดหวาน: 09 March 2009 - 01:48 PM

Help
















