ตัวอย่างการใช้งาน Loop ร่วมกับ Arrays

Programming 28 ธันวาคม พ.ศ. 2565 385
Home / Articles / 33

ในการใช้งาน Loop ร่วมกับ Array คล้ายกับการที่วนซ้ำและแก้ไขข้อมูลในตัวแปร ซึ่งในบทความนี้จะยกตัวอย่างบนภาษา C

1) รับค่าและนำข้อมูลใส่ลงใน Array

ในตัวอย่างโปรแกรมแรกจะเป็นการรับค่าทาง command-line โดยค่าที่ป้อนจะถูกจัดเก็บอยู่ใน Array โดยจะรับค่า 5 ครั้ง และใส่ลงไปทีละตัวตาม ลำดับ (index) ของ Array ซึ่งเริ่มจาก 0 และแสดงผลจากลำดับน้อยไปมาก (ascending) และ มากไปน้อย (descending)

จากการทำงานของโปรแกรมจะเห็นได้ว่า ผม Loop รอบแรกเพื่อรับข้อมูลโดยเก็บไว้ที่ตัวแปร arr 5 ครั้ง โดยแต่ละครั้งจะมีตัวแปรนับรอบเป็น i ซึ่งผมกำหนดให้เริ่มนับตั้งแต่ 0 และเพิ่มขึ้นทีละ 1 ทุกรอบ และทำงานรอบสุดท้ายที่ i=4 เราจึงสามารถนำตัวแปรที่ใช้นับมาใช้เป็นลำดับสำหรับอ้างอิงไปหา arr ได้ (หากนับจาก 1 จะไม่สามารถใส่ข้อมูลในลำดับที่ 0 ของ array ได้) และใส่ข้อมูลเข้าไปในตัวแปร arr โดยตรงขณะรับข้อมูลด้วย scanf

เมื่อ Loop แรกทำงานเสร็จสิ้นแล้ว โปรแกรมจะทำ Loop ที่สอง คือการแสดงข้อมูลจากหลังมาหน้า การที่เรารู้ว่าลำดับมากสุดของ arr มีเพียงแค่ 4 ลำดับ (นับจาก 0, 1, 2, 3, 4) ผมจึงสร้างเงื่อนไขของ Loop โดยให้ทำงานก็ต่อเมื่อตัวแปรนับ (i) มีค่าน้อยกว่าหรือเท่ากับศูนย์ เนื่องจากผมต้องการให้การวนซ้ำยังทำงานอยู่ แม้จะถึง i=0 แล้ว

Loop สุดท้าย เป็นการแสดงข้อมูลจากหน้าไปหลัง โดยที่มีลักษณะการนับเช่นเดียวกับ Loop แรก คือการนับลำดับ 0 ไปถึง 4

2) การจัดเรียงข้อมูลใน Array

การในจัดเรียงข้อมูลใน Array ใช้วิธีการสลับทีละคู่ ตัวอย่างโปรแกรมจะเก็บข้อมูลไว้ที่ตัวแปร arr โดยประกอบไปด้วย loop สอง loop โดยลูปแรกจะนับเริ่มต้นที่ i=0 ไปจนถึง i=4 และลูปที่สองนับเริ่มต้นที่ j=1

โดยทั้งสองลูปจะอ้างอิงถึงตำแหน่งของ arr ซึ่ง j จะมากกว่า i หนึ่งลำดับ เพื่อที่จะนำมาเปรียบเทียบและสลับตำแหน่งกันถ้า i มากกว่า j ค่าในลำดับ i จะถูกเก็บในตัวแปร tmp จากนั้นค่าในลำดับ i จะเปลี่ยนเป็นค่าของ j และค่าของ j จะเปลี่ยนเป็นค่าของ i

หากใส่ Input เป็น 5,4,2,3,1 ลงไปในโปรแกรมใน Loop

i=0, j=1 ข้อมูล 5 ซึ่งมากกว่า 4 จะถูกนำไปเก็บในตัวแปร tmp และ 4 จะสลับตำแหน่งกับ 5 ได้เป็น 4,5,2,3,1

i=1, j=2 ข้อมูล 5 กับ 2 จะสลับที่กัน ได้เป็น 4,2,5,3,1

i=2, j=3 ข้อมูล 4 กับ 2 จะสลับที่กัน ได้เป็น 2,4,5,3,1

i=3, j=4 ข้อมูล 5 กับ 3 จะสลับที่กัน ได้เป็น 2,4,3,5,1

i=4, j=5 ข้อมูล 5 กับ 1 จะสลับที่กัน ได้เป็น 2,4,3,1,5

i=5, j=6 ข้อมูล 4 กับ 3 จะสลับที่กัน ได้เป็น 2,3,4,1,5

i=6, j=7 ข้อมูล 4 กับ 1 จะสลับที่กัน ได้เป็น 2,3,1,4,5

i=7, j=8 ข้อมูล 3 กับ 1 จะสลับที่กัน ได้เป็น 2,1,3,4,5

i=8, j=9 ข้อมูล 2 กับ 1 จะสลับกัน ได้เป็น 1,2,3,4,5 

รวมทำงานทั้งหมด 9 รอบ

Profile Picture.
  • Name (Pen name): Sunny Jirakit (Sunny420x)
  • Study: Bachelor Degree of Computer Science from Chiang Mai Rajabhat University
  • Personality: Architect (INTJ-T)
  • Experience: JavaScript,  Angular.js, React.js, Next.js  Express.js, Unity C#, Socket.io