Array Two Dimension 886201 Programming I 10
Array หลายมิติ มิติของ Array สามารถมีได้ไม่จำกัด A int B2[7]; int A; int C[3][4]; C
Array หลายมิติ E[3][4][5][3] int D[3][4][5]; E D
อาร์เรย์ 2 มิติ นอกจาก การเก็บข้อมูลเรียงกันเป็น แถวแล้ว เราสามารถเก็บข้อมูลในอาเรย์เรียงกัน เป็นตาราง หรือที่เรียกกันว่า อาเรย์ 2 มิติ หรือ จะมองเป็น matix ก็ได้ 1 3 2 4 𝑚= 1 0 3 3 2 4
การประกาศตัวแปร Array 2 มิติ Array 2 มิติ สามารถมองเป็นตาราง หรือเมตริกซ์ ที่ประกอบไปด้วย แถว (row) และ หลัก (column) การประกาศตัวแปรที่เป็น array 2 มิติ จะมีการระบุขนาดของ array ภายใน เครื่องหมายวงเล็บสี่เหลี่ยม ซึ่งวงเล็บ แรกเป็นจำนวนแถว และวงเล็บหลัง เป็นจำนวนคอลัมน์ รูปแบบของการประกาศตัวแปรแบบ array 2 มิติ คือ ชนิดข้อมูล ชื่อตัวแปร[จำนวน แถว][จำนวนคอลัมน์];
การประกาศตัวแปร Array 2 มิติ int a[3][4]; Col 1 2 3 Row 0 Row 1 Row 2
การประกาศตัวแปร Array 2 มิติ int a[3][4]; Col 1 2 3 Row 0 Row 1 Row 2
การประกาศและกำหนดค่าเริ่มต้นใน array 2 มิติ สมมุติว่าต้องการประกาศตัวแปร array 2 มิติ เพื่อเก็บค่าจำนวนเต็มดังตารางด้านล่าง เรา สามารถประกาศตัวแปร array พร้อม กำหนดค่าเริ่มต้นได้ดังวิธีการต่อไปนี้ (ทำแบบ ใดก็ได้) int a[3][4] = { {8,16,9,52}, {3,15,27,6}, {14,25,2,10} }; หรือ int a[3][4] = {8,16,9,52, 3,15,27,6, 14,25,2,10}; int a[][4] = {8,16,9,52, Col 1 2 3 Row 0 Row 1 Row 2 8 16 9 52 3 15 27 6 14 25 2 10
กิจกรรมที่ 1 จงเขียนคำสั่งเพื่อประกาศและสร้างอาร์เรย์ สองมิติ ตามรายละเอียดดังนี้ 1. อาร์เรย์ 2 มิติชื่อ a ขนาด 2 x 3 โดยให้สมาชิกทุกตัว มีค่าเป็น 0 int a[2][2] = {0}; 2. อาร์เรย์ 2 มิติชื่อ b ขนาด 5 x 2 โดยให้สมาชิกทุกตัว มีค่าเป็น 1 int b[5][2] = {{1,1},{1,1},{1,1},{1,1},{1,1}}; 3. อาร์เรย์ 2 มิติชื่อ s ขนาด 3 x 2 โดยให้สมาชิกทุกตัว มีค่าเป็นคำว่า “Hello” string a[3][2] = {{"Hello","Hello"},{"Hello","Hello"},{"Hello","Hello"}};
กิจกรรมที่ 1 (ต่อ) จงเขียนคำสั่งเพื่อประกาศและสร้างอาร์เรย์ สองมิติ ตามรายละเอียดดังนี้ 4. อาร์เรย์ 2 มิติชื่อ t ขนาด 1 x 3 โดยให้สมาชิกทุกตัว มีค่าเป็นคำว่า “Hello” string a[1][3] = {{"Hello","Hello","Hello"}}; 5. อาร์เรย์ 2 มิติชื่อ m ขนาด 1 x 1 สมาชิกมีค่าเป็น 5.4 float a[1][1] = {5.4};
กิจกรรมที่ 2 จงวาดรูปโครงสร้างตารางของอาร์เรย์ 2 มิติตามคำสั่งต่อไปนี้ พร้อม กำหนดค่าในแต่ละช่องของตารางให้ ถูกต้อง
กิจกรรมที่ 3 จงเขียนคำสั่งเพื่อประกาศและสร้าง อาร์เรย์ต่อไปนี้ ประกาศและสร้างอาร์เรย์ชื่อ chess เพื่อ สร้างตารางหมากรุก ประกาศและสร้างอาร์เรย์ชื่อ data เก็บ คะแนนรวมของวิชา Programming ของนิสิต 300 คน โดยในแต่ละคน ประกอบไปด้วยคะแนนการบ้าน คะแนนกลางภาค และ คะแนนปลาย ภาค
การอ้างอิงตัวแปรใน Array 2 มิติ Col 1 2 3 Row 0 Row 1 Row 2 a[0][2] a[2][3]
การอ้างอิงตัวแปรใน Array 2 มิติ int a[3][4]; col 0 col 1 col 2 col 3 a[0][0] a[0][1] a[0][2] a[0][3] row 0 row 1 row 2
การอ้างอิงตัวแปรใน Array 2 มิติ int a[3][4]; col 0 col 1 col 2 col 3 a[0][0] a[0][1] a[0][2] a[0][3] row 0 a[1][0] a[1][1] a[1][2] a[1][3] row 1 row 2
การอ้างอิงตัวแปรใน Array 2 มิติ int a[3][4]; col 0 col 1 col 2 col 3 a[0][0] a[0][1] a[0][2] a[0][3] row 0 a[1][0] a[1][1] a[1][2] a[1][3] row 1 a[2][0] a[2][1] a[2][2] a[2][3] row 2
การอ้างอิงตัวแปรใน Array 2 มิติ int a[3][4]; col 0 col 1 col 2 col 3 a[0][0] a[0][1] a[0][2] a[0][3] row 0 a[1][0] a[1][1] a[1][2] a[1][3] row 1 a[2][0] a[2][1] a[2][2] a[2][3] row 2
การกำหนดค่า a[2][0] = 14; a[2][1] = 25; a[2][2] = 2; a[2][3] = 10; int a[3][4]; a[0][0] = 8; a[0][1] = 16; a[0][2] = 9; a[0][3] = 52; a[1][0] = 3; a[1][1] = 15; a[1][2] = 27; a[1][3] = 6; Col 1 2 3 Row 0 Row 1 Row 2 8 16 9 52 3 15 27 6 14 25 2 10
กิจกรรมที่ 4 จงเขียนคำสั่งเพื่อเข้าถึงข้อมูลและ กำหนดค่าให้อาร์เรย์ ดังนี้ ให้ตัวแปร x เก็บข้อมูลจำนวนเต็มจาก อาร์เรย์ num ตัวที่ 50 ของแถว index ที่ 51 ให้ตัวแปร c เก็บข้อมูลตัวอักษรจาก อาร์เรย์ code index ที่ 60 ของแถวที่ 10 ให้อาร์เรย์ a เก็บข้อมูลประเภทจำนวน จริงจากอาร์เรย์ b ทั้งหมด
กิจกรรมที่ 5 จงเขียนคำสั่งเพื่อเข้าถึงข้อมูลและ กำหนดค่าให้อาร์เรย์ ดังนี้ ให้ค่าสมาชิก index ที่ 5 แถว index ที่ 7 ของอาร์เรย์ code เท่ากับค่าจากตัวแปร x ให้ค่าสมาชิก index ที่ 9 ของแถวแรกของ อาร์เรย์ sName เท่ากับค่าจากตัวแปร s1 ให้ค่าสมาชิกตัวที่ 3 ของแถวที่ 2 ของ อาร์เรย์ sName เท่ากับค่าจากตัวแปร s2
ตัวอย่างการกำหนดค่าใน array 2 มิติ และพิมพ์สมาชิกทุกตัวออกทางหน้าจอ
ตัวอย่างการรับค่าจาก keyboard มาเก็บใน array 2 มิติ และพิมพ์สมาชิกทุกตัวออกทางหน้าจอ
แบบฝึกหัด จงเขียนโปรแกรมสำหรับรับ เมตริกซ์ ของเลข จำนวนเต็มขนาด 2x2 จำนวน 2 เมตริกซ์ จากนั้นแสดงผลบวกของเมตริกซ์ทั้งสอง ตัวอย่างผลการรันเป็นดังนี้ (ข้อความสีแดงคือ ค่าที่รับจากผู้ใช้) Enter matrix A(2x2): 2 -1 15 9 Enter matrix B(2x2): 10 8 3 -7 Matrix A+B: 12 7 18 2
แบบฝึกหัด จงเขียนโปรแกรมสำหรับรับเมตริกซ์จากผู้ใช้ 1 เมตริกซ์ (ให้ชื่อว่าเมตริกซ์ A) โดยผู้ใช้สามารถ กำหนดจำนวนหลักและแถวของเมตริกซ์ได้ จากนั้นให้แสดงผลลัพธ์เป็นเมตริกซ์ทรานส โพสของ A A Enter size of matrix A: The number of rows: 2 The number of columns: 3 Enter matrix A: 1 5 3 4 2 6 Transpose of matrix A: 1 4 5 2 3 6 1 5 3 4 2 6 B 1 4 5 2 3 6
แบบฝึกหัด จงเขียนโปรแกรมสำหรับรับข้อมูลรูปภาพซึ่ง ประกอบด้วยสัญลักษณ์ o และ x ขนาด m แถว n คอลัมน์ แล้วให้สร้าง array อีก อันหนึ่งเพื่อเก็บผลลัพธ์ที่เป็นการกลับภาพ นั้น โดยตำแหน่งใดที่เป็น o ให้เปลี่ยนเป็น x และตำแหน่งที่เป็น x ให้เปลี่ยนเป็น o แล้ว แสดงผลลัพธ์ออกทางหน้าจอ ตัวอย่างข้อมูลเข้า 5 4 xoox oxxo xxxx ตัวอย่างข้อมูลออก oxxo xoox oooo