6 แถวลำดับ
วัตถุประสงค์
เพื่อให้สามารถสร้างและใช้งานอาร์เรย์ในการเขียนโปรแกรมได้
เพื่อให้สามารถสร้างและใช้งานอาร์เรย์สองมิติในการเขียนโปรแกรมได้
เพื่อให้สามารถใช้งานอาร์เรย์และอาร์เรย์สองมิติร่วมกับการทำงานแบบวนซ้ำได้
เพื่อให้สามารถอธิบายความสำคัญของการใช้อาร์เรย์ในการเขียนโปรแกรม
ในระหว่างการประมวลผลของโปรแกรมมักจะจัดเก็บข้อมูลจำนวนมาก เช่น ข้อมูลคะแนนสอบของนักศึกษา 40 คน ข้อมูลอุณหภูมิในแต่ละวันภายใน 1 ปีหรือ 365 วัน เพื่อหาค่าเฉลี่ยของข้อมูล เป็นต้น ดังนั้นจะต้องสร้างตัวแปรขึ้นมาเก็บข้อมูลเหล่านี้ เช่น ข้อมูลคะแนนสอบของนักศึกษา 40 คนต้องประกาศตัวแปร 40 ตัว และต้องเขียนโปรแกรมด้วยคำสั่งซ้ำเดิม 40 ครั้ง เพื่อรับค่าข้อมูลและหาค่าผลของคะแนนทั้งหมด จึงเป็นสิ่งที่ไม่สะดวก แต่เราสามารถที่จะใช้โครงสร้างข้อมูลที่เรียกว่าแถวลำดับหรืออาร์เรย์ (array) ซึ่งมีการจัดเก็บข้อมูลชนิดเดียวกันโดยใช้เลขลำดับเป็นตัวระบุถึงข้อมูลแต่ละตัวทำให้การเข้าถึงข้อมูลทำได้ง่าย และสามารถใช้การเขียนโปรแกรมแบบวนซ้ำเข้ามาช่วยในการรับค่าข้อมูลมาใส่ในอาร์เรย์รวมถึงการนำข้อมูลในอาร์เรย์มาใช้งาน
6.1 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์
แถวลำดับหรืออาร์เรย์ คือแถวที่ใช้เก็บกลุ่มของข้อมูลประเภทเดียวกันหรือชนิดเดียวกันเรียงต่อกันเป็นลำดับ ข้อมูลในอาร์เรย์จะถูกเก็บอยู่ในหน่วยความจำในตำแหน่งที่ต่อเนื่องกัน ถ้าเปรียบเทียบตัวแปรเหมือนกล่องที่ใช้เก็บค่าข้อมูล อาร์เรย์จะเปรียบเหมือนกล่องที่เรียงติดกันหลายใบซึ่งมีเลขลำดับเป็นตัวชี้บอกถึงกล่องแต่ละใบโดยตัวเลขนี้จะเริ่มต้นที่ 0 ดังภาพที่ 6-1
ดังนั้นการอ้างถึงตัวแปรจะต้องเรียกชื่อ เช่น score1, score2, \(\cdots\), score40 กรณีมีตัวแปร 40 ตัว แต่อาร์เรย์จะใช้ชื่อเดียว เช่น score และใช้ score[0], score[1], \(\cdots\), score[39] แทนข้อมูลแต่ละตัวในอาร์เรย์
6.2 การสร้างและการใช้งานอาร์เรย์
ในการใช้งานอาร์เรย์จะต้องทำการประกาศอาร์เรย์เพื่อให้ทราบว่าอาร์เรย์นั้นจะใช้เก็บข้อมูลประเภทใด ไวยากรณ์ในการประกาศอาร์เรย์เป็นดังนี้
นิยมใช้การประกาศแบบที่ 1 มากกว่า ตัวอย่างการประกาศ เช่น
::: {.columns}
ในการประกาศอาร์เรย์เป็นเพียงการระบุว่าอาร์เรย์นั้นใช้จัดเก็บข้อมูลชนิดใดและสร้างตำแหน่งของหน่วยความจำที่ใช้อ้างถึงอาร์เรย์ แต่ยังไม่ได้มีการจองหรือจัดสรรเนื้อที่ในหน่วยความจำให้กับอาร์เรย์ ดังนั้นในการใช้งานอาร์เรย์เมื่อประกาศอาร์เรย์แล้วจะต้องทำการสร้างอาร์เรย์โดยใช้ตัวดำเนินการ new โดยขนาดของอาร์เรย์จะต้องเป็นจำนวนเต็ม ไวยากรณ์ในการสร้างอาร์เรย์เป็นดังนี้
ตัวอย่างการสร้างอาร์เรย์ เช่น
เราสามารถที่จะดำเนินการประกาศและสร้างอาร์เรย์ไปพร้อมกันได้ โดยมีรูปแบบคำสั่งดังต่อไปนี้
ตัวอย่างการประกาศและสร้างตัวแปรพร้อมกัน เช่น
ตัวอย่างการประกาศอาร์เรย์แล้วจึงสร้างอาร์เรย์ เช่น
ตัวอย่างการประกาศและสร้างตัวแปรพร้อมกัน เช่น
ตัวอย่างภาพจำลองของอาร์เรย์และตัวอย่างข้อมูลที่จัดเก็บในอาร์เรย์ชื่อ score ที่ใช้เก็บข้อมูลชนิด int ซึ่งมีสมาชิก 10 ตัว ในภาษาจาวาเลขลำดับซึ่งเป็นตัวชี้หรือดัชนี (index) จะเริ่มจากเลขลำดับที่ 0 ดังนั้นอาร์เรย์ score จะมีตัวชี้ตำแหน่งตั้งแต่ 0 ถึง 9 ดังนี้
การอ้างอิงข้อมูลในแต่ละตำแหน่งของอาร์เรย์ มีไวยากรณ์ดังนี้
เมื่อ ดัชนี คือตำแหน่งของข้อมูลในอาร์เรย์ที่ต้องการอ้างถึง เช่นจากภาพที่ 2-2 เมื่อต้องการอ้างถึงข้อมูลเลขลำดับที่ 0 ทำได้โดยเขียนว่า score[0] ซึ่งจะทำให้ได้ข้อมูล คือ 7
การอ้างถึงตำแหน่งข้อมูลในอาร์เรย์นอกช่วงจะทำให้เกิดข้อผิดพลาดขึ้นซึ่งเกิดขึ้นกับนักเขียนโปรแกรมอยู่บ่อยครั้ง ข้อผิดพลาดในลักษณะนี้คือข้อผิดพลาดขณะทำงานเพราะการเขียนถูกต้องตามหลักไวยากรณ์แต่อ้างอิงตำแหน่งอาร์เรย์ที่ไม่มีอยู่จริง ดังตัวอย่างที่ 6.2
จากตัวอย่างที่ 6.2 บรรทัดที่ 8 มีการอ้างถึงอาร์เรย์ numbers ในตำแหน่งที่ 4 ซึ่งเกินจากขอบเขตของดัชนีของอาร์เรย์นี้ที่มีค่าอยู่ในช่วง 0 ถึง 3 เท่านั้น ทำให้โปรแกรมเกิดข้อผิดพลาดขึ้นในขณะทำงานส่งผลให้โปรแกรมหยุดการทำงาน
6.3 การกำหนดค่าให้กับอาร์เรย์
การกำหนดค่าให้กับอาร์เรย์หรือการนำข้อมูลไปใส่ในอาร์เรย์สามารถทำได้หลายวิธี เช่น
วิธีที่ 1 กำหนดค่าข้อมูลให้อาร์เรย์ด้วยการระบุดัชนี
วิธีที่ 2 กำหนดค่าเริ่มต้นให้กับอาร์เรย์ร่วมกับการประกาศอาร์เรย์
วิธีที่ 3 กำหนดค่าข้อมูลให้อาร์เรย์โดยใช้การทำงานแบบวนซ้ำ
วิธีท่ี 1 การกำหนดค่าข้อมูลให้อาร์เรย์ด้วยการระบุดัชนี คำสั่งในการกำหนดค่าให้กับสมาชิกแต่ละตัวในอาร์เรย์มีรูปแบบไวยากรณ์ ดังนี้
วิธีที่ 2 การประกาศอาร์เรย์ร่วมกับการกำหนดค่าเริ่มต้นให้กับอาร์เรย์ มีรูปแบบไวยากรณ์ดังนี้
คำสั่งนี้เป็นการดำเนินการประกาศอาร์เรย์ สร้างอาร์เรย์ และกำหนดค่าให้กับอาร์เรย์ภายในคำสั่งเดียว อาร์เรย์ที่ถูกสร้างขึ้นจะมีขนาดเท่ากับชุดของข้อมูลที่กำหนดให้เป็นค่าเริ่มต้น ดังตัวอย่างที่ 6.4
ผลลัพธ์จากส่วนของโปรแกรมนี้ คือ
จากส่วนของโปรแกรมในตัวอย่างที่ 6.4 ทำให้ได้อาร์เรย์ชื่อ num ขนาด 4 ตัว ซึ่งมีสมาชิก คือ 2, 5, 3, และ 1 ตามลำดับ และอาร์เรย์ชื่อ monthName ซึ่งมีสมาชิก 12 ตัว เป็นชื่อของเดือนทั้ง 12 เดือนตามลำดับ นอกจากนี้แล้วเราสามารถทราบขนาดของอาร์เรย์ได้โดยใช้คุณสมบัติ length ของอาร์เรย์
วิธีที่ 3 การกำหนดค่าให้กับอาร์เรย์สามารถดำเนินการโดยใช้การทำงานแบบวนซ้ำ ดังตัวอย่างที่ 6.5
จากส่วนของโปรแกรมในตัวอย่างที่ 6.5 จะเห็นได้ว่าเราสามารถนำเอาตัวแปร i ซึ่งเป็นตัวแปรที่ใช้ในการควบคุมการวนซ้ำมาเป็นค่าดัชนีของอาร์เรย์ แล้วกำหนดให้มีการทำวนซ้ำเท่ากับจำนวนสมาชิกของอาร์เรย์โดยให้ค่าเริ่มต้นของตัวแปร i = 0 เช่นเดียวกับเลขลำดับตัวแรกของอาร์เรย์ที่เริ่มต้นที่ 0 เงื่อนไขของอาร์เรย์กำหนดให้น้อยกว่าขนาดของอาร์เรย์ เนื่องจากดัชนีจะเริ่มต้นที่ 0 จนถึงตำแหน่งที่ length-1 ในที่นี้อาร์เรย์มีขนาด 4 จึงกำหนดเงื่อนไขเป็น i < 4 หรืออาจเปลี่ยนเงื่อนไขเป็น i < num.length แทนก็ได้ ในส่วนของการเปลี่ยนแปลงค่าตัวแปร i จะทำเมื่อสิ้นสุดการทำงานในวงวนแต่ละรอบโดยเพิ่มค่าทีละหนึ่งเพื่อเลื่อนไปพิจารณาสมาชิกในอาร์เรย์ตำแหน่งถัดไป
เมื่ออาร์เรย์สร้างเสร็จแล้วกรณีอาร์เรย์ชนิดตัวเลขภาษาจาวาจะกำหนดค่า 0 ให้เป็นค่าโดยปริยาย (default value) หรือก็คือค่าที่ภาษาจาวาจะใส่ลงในอาร์เรย์แบบอัตโนมัติทันทีที่สร้างอาร์เรย์ ดังตัวอย่างที่ 6.6 กรณีของอาร์เรย์ชนิดตัวอักษรค่าโดยปริยายที่ภาษาจาวากำหนดให้คือ ‘000’ และค่าโดยปริยายของอาร์เรย์ชนิด boolean คือค่า false
จากโปรแกรมในตัวอย่างที่ 6.6 ค่าในอาร์เรย์ price มีค่าเท่ากับ 0.0 ซึ่งเป็นค่าโดยปริยาย
6.4 การค้นหาข้อมูลในอาร์เรย์ และการใช้งานอาร์เรย์ร่วมกับการวนซ้ำ
การใช้งานอาร์เรย์ร่วมกับการวนซ้ำทำให้การประมวลผลข้อมูลร่วมกับอาร์เรย์ทำได้ง่าย ตัวอย่างเช่น การค้นหาข้อมูลในอาร์เรย์สามารถดำเนินการเปรียบเทียบค่าที่ต้องการค้นหากับข้อมูลในอาร์เรย์โดยการวนซ้ำแล้วเปรียบเทียบค่าที่ต้องกันค้นหากับอาร์เรย์ไปทีละตัว นอกจากนี้ยังสามารถใช้ในการประมวลผลข้อมูลทางสถิติอย่างง่าย เช่น การหาค่าสูงสุด การหาค่าต่ำสุด การหาค่าผลรวมเพื่อใช้ในการหาค่าเฉลี่ย เป็นต้น
ผลลัพธ์ของโปรแกรมเมื่อป้อนข้อมูล คือ 3 4 10 2 7 10 5 8 เป็นดังนี้
ผลลัพธ์ของโปรแกรมเมื่อป้อนข้อมูล คือ 7 8 4 9 5 9 2 9 เป็นดังนี้
จากโปรแกรมในตัวอย่างที่ 6.7
บรรทัดที่ 10 – 12 เป็นการวนซ้ำเพื่อรับค่าข้อมูลตัวเลขจำนวนเต็มมาใส่ในอาร์เรย์ชื่อ numbers ซึ่งมีขนาด 8 ช่อง นอกจากนี้แล้วในวงวนนี้ยังมีการบวกค่าตัวเลขเพื่อหาผลรวมทั้งหมดเก็บในตัวแปร sum ที่บรรทัดที่ 11 ในโปรแกรมนี้หากต้องการเพิ่มหรือลดจำนวนข้อมูลตัวเลขที่ต้องการจัดเก็บสามารถเปลี่ยนค่าของตัวแปร size ในบรรทัดที่ 5 เป็นจำนวนที่ต้องการได้
บรรทัดที่ 15 – 19 เป็นการหาค่าสูงสุดของชุดตัวเลขในอาร์เรย์ด้วยการกำหนดค่าตัวแปรที่ใช้เก็บข้อสูงสุดแรกเริ่มให้มีค่าเป็นอาร์เรย์ตำแหน่งที่ 0 แล้วใช้การวนซ้ำเพื่อเปรียบเทียบว่ามีข้อมูลใดในอาร์เรย์มีค่ามากกว่าค่า max บ้างก็จะทำการเปลี่ยนแปลงค่า max เป็นข้อมูลในอาร์เรย์ตำแหน่งนั้น ทำให้เมื่อวนซ้ำครบทุกสมาชิกในอาร์เรย์จะได้ค่าสูงสุดเก็บอยู่ในตัวแปร max
บรรทัดที่ 21 – 25 เป็นการค้นหาข้อมูลโดยต้องการนับว่ามีค่าที่เท่ากับตัวเลขที่มากที่สุด (max) อยู่กี่ตัว ในการดำเนินการค้นหาได้ใช้การวนซ้ำเพื่อเปรียบเทียบค่า max กับสมาชิกในอาร์เรย์ numbers ทีละตัว ถ้าค่าตรงกันจะทำการเพิ่มค่าของตัวแปร count ดังนั้นเมื่อสิ้นสุดการทำซ้ำจะทำให้ได้จำนวนของค่าที่เท่ากับค่า max เก็บอยู่ในตัวแปร count
บรรทัดที่ 28 – 31 เป็นการหาค่าต่ำสุดของชุดตัวเลขในอาร์เรย์โดยใช้การวนซ้ำเช่นเดียวกับการหาค่าสูงสุด แต่ในการเปรียบเทียบจะตรวจสอบว่ามีข้อมูลใดในอาร์เรย์มีน้อยกว่าค่า min หรือไม่ ถ้าค่าในอาร์เรย์ตำแหน่งนั้นมีค่าน้อยกว่าก็จะทำการเปลี่ยนแปลงค่า min เป็นค่าใหม่ตามค่าในอาร์เรย์ตำแหน่งนั้น
บรรทัดที่ 33 เป็นการหาค่าเฉลี่ยโดยการนำค่าผลรวมที่เก็บอยู่ในตัวแปร sum มาหารด้วยจำนวนข้อมูลทั้งหมด (numbers.lenth)
บรรทัดที่ 36 – 38 เป็นการแสดงข้อมูลในอาร์เรย์ด้วยการวนซ้ำเพื่อนำค่าในอาร์เรย์แต่ละตัวมาพิมพ์ออกทางจอภาพ
6.5 ตัวอย่างเปรียบเทียบโปรแกรมที่ใช้อาร์เรย์และไม่ใช้อาร์เรย์
จากเนื้อหาก่อนหน้านี้จะเห็นได้ว่าใช้อาร์เรย์ในการจัดเก็บชุดข้อมูลที่มีจำนวนมากทำให้การดำเนินการกับชุดข้อมูลนี้ทำได้ง่ายด้วยการใช้ดัชนีเพื่อระบุตำแหน่งข้อมูล และสามารถประมวลผลข้อมูลได้ง่ายขึ้นเพราะสามารถทำงานร่วมกับการวนซ้ำได้ ตัวอย่างต่อไปนี้เป็นการเปรียบเทียบการแก้ปัญหาเพื่อหาค่าเฉลี่ยของตัวเลข 10 จำนวน ด้วยการเขียนโปรแกรมแบบที่ไม่ใช้อาร์เรย์ (ตัวอย่างที่ 6.8) และใช้อาร์เรย์ (ตัวอย่างที่ 6.9) โดยโปรแกรมทั้งสองนี้จะใช้การรับค่าตัวเลขทางแป้นพิมพ์
ตัวอย่างที่ 6.8 และตัวอย่างที่ 6.9 จะให้การผลการทำงานที่เหมือนกัน แต่การใช้อาร์เรย์ดำเนินการรับชุดข้อมูลชนิดเดียวกันที่มีจำนวนมากจะทำการเขียนโปรแกรมได้ง่ายกว่าเพราะสามารถทำงานร่วมกับวงวนได้ แต่โปรแกรมที่ไม่ใช้อาร์เรย์จะต้องทำการประกาศตัวแปรทีละตัวและเขียนคำสั่งซ้ำเพื่อดำเนินการกับตัวแปรทีละตัวดังเห็นได้ว่าตัวอย่างที่ 6.8 ต้องใช้จำนวนบรรทัดมากกว่า หากต้องการเพิ่มจำนวนของข้อมูลเป็นการหาค่าเฉลี่ยของตัวเลข 20 ตัว สำหรับโปรแกรมในตัวอย่างที่ 6.9 สามารถทำได้ง่ายมากด้วยการเปลี่ยนขนาดของอาร์เรย์ในบรรทัดที่ 4 เป็น 20 เท่านั้น และถ้าต้องการหาค่าเฉลี่ยของตัวเลข 100 ตัวก็สามารถทำได้ด้วยการเปลี่ยนขนาดของอาร์เรย์เป็น 100 ช่อง
ตัวอย่างการเขียนโปรแกรมเพื่อรับตัวเลขวันในสัปดาห์ตั้งแต่ 1 - 7 แล้วให้แสดงชื่อวันออกทางจอภาพโปรแกรมในตัวอย่างที่ 6.10 ใช้อาร์เรย์ และโปรแกรมในตัวอย่างที่ 6.11 ใช้คำสั่ง switch-case เป็นดังนี้
6.6 หลักการและแนวคิดของอาร์เรย์สองมิติ
อาร์เรย์สองมิติจะจัดเก็บข้อมูลอยู่ในรูปแบบของเมทริกซ์หรือตารางซึ่งประกอบด้วยแถวและคอลัมน์ มิติแรกของอาร์เรย์สองมิติคือแถวและมิติที่สองคือคอลัมน์ ในภาษาจาวาจำนวนคอลัมน์ของแต่ละแถวอาจไม่เท่ากันได้เรียกว่าอาร์เรย์ที่มีจำนวนแถวไม่เท่ากัน (ragged array) นอกจากนี้การดำเนินงานและการประมวลผลกับอาร์เรย์สองมิติสามารถทำงานร่วมกับการวนซ้ำแบบสองชั้นได้
คะแนนสอบของนักเรียนในแต่ละครั้งซึ่งมีข้อมูล ดังตารางที่ 6-1 เป็นตัวอย่างหนึ่งของข้อมูลที่สามารถนำเอาอาร์เรย์ 2 มิติมาใช้ในการจัดเก็บได้
ตารางที่ 6-1 ตารางแสดงข้อมูลการสอบจำนวน 4 ครั้งของนักเรียน 3 คน
6.7 การสร้างและการใช้งานอาร์เรย์สองมิติ
ไวยากรณ์ในการประกาศและสร้างอาร์เรย์สองมิติ เป็นดังนี้
วิธีที่ 1 ประกาศแล้วสร้างอาร์เรย์
หรือ
วิธีที่ 2 ประกาศพร้อมสร้างอาร์เรย์
ตัวชี้ตำแหน่งของอาร์เรย์สองมิติจะต้องเป็นจำนวนเต็มโดยมิติแรกเป็นดัชนีแสดงตำแหน่งแถวและมิติที่สองแสดงเลขตำแหน่งคอลัมน์ หากต้องการกำหนดค่า 7 ให้กับอาร์เรย์สองมิติชื่อ matrix ในแถวที่ 2 และคอลัมน์ที่ 1 ทำได้ดังนี้ \(\text{matrix}[2][1] = 7\); ดังภาพที่ 6-4
เราสามารถกำหนดค่าเริ่มต้นให้กับอาร์เรย์สองมิติพร้อมกับการประกาศได้ ดังภาพอาร์เรย์ชื่อ array ในภาพที่ 6-4 คำสั่ง
ผลการทำงานเทียบได้กับคำสั่งต่อไปนี้
ตัวอย่างการกำหนดค่าให้กับอาร์เรย์สองมิติเป็นดังตัวอย่างที่ 6.12
คุณสมบัติของอาร์เรย์สองมิติ
อาร์เรย์สองมิติคืออาร์เรย์ซึ่งสมาชิกแต่ละตัวคืออาเรย์หนึ่งมิติอีกอาร์เรย์หนึ่ง ความยาวของอาร์เรย์ x คือจำนวนสมาชิกในอาร์เรย์หรือจำนวนแถวของอาร์เรย์สองมิติ จำนวนแถวของอาร์เรย์สองมิติของอาร์เรย์สามารถหาได้ดังนี้ x.length ความยาวของแต่ละแถวหรือจำนวนคอลัมน์ของอาร์เรย์สองมิติแต่ละแถวหรือความยาวของอาร์เรย์ x[0], x[0], …, x[length-1] ตามลำดับ สามารถหาได้ดังนี้ x[0].length, x[1].length, …, x[length-1].length
ตัวอย่างของอาเรย์สองมิติชื่อ x สมมุติให้ x = new int[3][4]; คืออาร์เรย์หนึ่งมิติจำนวน 3 อาร์เรย์ ได้แก่ x[0], x[1], และ x[0] ซึ่งอาร์เรย์แต่ละตัวประกอบไปด้วยสมาชิก 4 ช่อง ดังภาพที่ 6-5 x.length คือ 3 และ x[0].length, x[1].length, และ x[2].length มีค่าเท่ากับ 4
จากแนวคิดข้างต้นจะเห็นได้จากตัวอย่างที่ 6.13 เราสามารถนำค่าในอาร์เรย์ไปใส่ในแถวใดแถวหนึ่งของอาร์เรย์สองมิติได้
6.8 อาร์เรย์สองมิติที่มีความยาวในแต่ละแถวไม่เท่ากัน
ความยาวในแต่ละแถวของอาร์เรย์สองมิติสามารถไม่เท่ากันได้ซึ่งจะเรียกอาร์เรย์แบบนี้ว่า ragged array ตัวอย่างเช่น
ตัวอย่างการนำไปใช้เช่นการจัดผังห้องสอบมีเลขที่นั่งดังภาพที่ 6-7
การใช้งานอาร์เรย์สองมิติร่วมกับการวนซ้ำแบบหลายชั้น
การดำเนินการกับอาร์เรย์สองมิติทำได้ง่ายด้วยการใช้การวนซ้ำแบบหลายชั้นเป็นดังตัวอย่างต่อไปนี้
จากตัวอย่างที่ 6.15 เป็นการรับค่ามาใส่ในอาร์เรย์ขนาด 2 แถว 3 คอลัมน์ทางแป้นพิมพ์มาใส่ในอาร์เรย์สองมิติชื่อ numbers แล้วทำการหาค่าผลรวม หาค่าเฉลี่ย และพิมพ์ข้อมูลในอาร์เรย์พร้อมทั้งผลรวมของตัวเลขและค่าเฉลี่ยออกทางจอภาพ
แบบฝึกหัด
- ให้ระบุผลลัพธ์ของโปรแกรมต่อไปนี้
- ให้ระบุผลลัพธ์ของโปรแกรมต่อไปนี้
- ให้ระบุผลลัพธ์ของโปรแกรมต่อไปนี้
- ให้ระบุผลลัพธ์ของโปรแกรมต่อไปนี้
- ให้ระบุผลลัพธ์ของโปรแกรมต่อไปนี้
- ให้เขียนโปรแกรมเพื่อรับค่าคะแนนสอบของนักศึกษาจำนวน 3 คน จากการสอบทั้งหมด 4 ครั้ง ที่ป้อนทางแป้นพิมพ์มาเก็บในอาร์เรย์สองมิติโดยใช้การเขียนโปรแกรมแบบวนซ้ำ และหาค่าผลรวม (sum) ของคะแนนที่นักศึกษาแต่ละคนได้รับ แล้วพิมพ์ผลลัพธ์ออกทางจอภาพ ตัวอย่างการทำงานของโปรแกรมเป็นดังนี้
- ให้เขียนโปรแกรมเพื่อหาค่าผลบวกของเมตริกซ์ 2 เมตริกซ์ ซึ่งมีขนาด 2 3 (2 แถว 3 คอลัมน์) เช่น
\[ \left[\begin{array}{lll} 2 & 3 & 7 \\ 1 & 4 & 6 \end{array}\right]+\left[\begin{array}{lll} 4 & 2 & 8 \\ 5 & 3 & 2 \end{array}\right]=\left[\begin{array}{llc} 6 & 5 & 15 \\ 6 & 7 & 8 \end{array}\right] \]
ให้ใช้คำสั่งในการวนซ้ำเพื่อรับค่าข้อมูลเมตริกซ์ทั้ง 2 เมตริกซ์จากผู้ใช้ และหาผลบวก แล้วแสดงผลลัพธ์ออกทางจอภาพ
- เขียนโปรแกรมเพื่อสร้างอาร์เรย์สองมิติขนาด 3 x 4 และทำการสุ่มตัวเลขจำนวนเต็มตั้งแต่ 1 - 100 มาเก็บในอาร์เรย์นี้ โดยให้โปรแกรมแสดงผลการสุ่มอาร์เรย์ออกทางจอภาพพร้อมทั้งหาค่าสูงสุด ค่าต่ำสุด และค่าเฉลี่ยของตัวเลข
ตัวอย่างหน้าจอโปรแกรม