งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Lecture 11: อาร์เรย์แบบหลายมิติ

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Lecture 11: อาร์เรย์แบบหลายมิติ"— ใบสำเนางานนำเสนอ:

1 Lecture 11: อาร์เรย์แบบหลายมิติ
หลักการโปรแกรม 1 Lecture 11: อาร์เรย์แบบหลายมิติ

2 Array 2 มิติ เช่น int matrix1[3][5]; double matrix2[8][6];
การประกาศตัวแปรที่เป็น array 2 มิติ จะมีการระบุขนาดของ array ภายในเครื่องหมายวงเล็บสี่เหลี่ยม ซึ่งวงเล็บแรกเป็นจำนวนแถว และวงเล็บหลังเป็นจำนวนคอลัมน์ รูปแบบของการประกาศตัวแปรแบบ array 2 มิติ คือ ชนิดข้อมูล ชื่อตัวแปร[จำนวนแถว][จำนวนคอลัมน์]; เช่น int matrix1[3][5]; double matrix2[8][6];

3 Array 2 มิติ Array 2 มิติ มีลักษณะเป็นตาราง
เช่น int matrix[3][4]; (คือ การจองเนื้อที่ในหน่วยความจำเพื่อเก็บค่าจำนวนเต็ม 3 แถว แถวละ 4 คอลัมน์) Col 0 Col 1 Col 2 Col 3 Row 0 8 16 9 52 Row 1 3 15 27 6 Row 2 14 25 2 10

4 Array 2 มิติ int a[3][4]; a[0][0] a[0][1] a[0][2] a[0][3]

5 แถว (row) a[0][0] a[0][1] a[0][2] a[0][3] row 0

6 คอลัมน์ (column) a[0][0] a[0][1] a[0][2] a[0][3]

7 การอ้างอิงค่าใน array 2 มิติ
เช่น int a[3][4]; // array 2 มิติที่มี 3 แถว 4 คอลัมน์ Col 1 2 3 Row 0 Row 1 Row 2 a[0][0] a[1][2] a[2][3]

8 การกำหนดค่าเริ่มต้นใน array 2 มิติ
สมมุติว่าต้องการประกาศตัวแปร array 2 มิติเพื่อเก็บค่าจำนวนเต็มดังตารางด้านล่าง เราสามารถประกาศตัวแปร array พร้อมกำหนดค่าเริ่มต้นได้ดังวิธีการต่อไปนี้ (ทำแบบใดก็ได้) int val[3][4] = { {8,16,9,52}, {3,15,27,6}, {14,25,2,10} }; หรือ int val[3][4] = {8,16,9,52, 3,15,27,6, 14,25,2,10}; หรือ (สามารถกำหนดค่าเริ่มต้นแบบนี้ได้ แต่จะดูแล้วงงกว่าสองแบบแรก) int val[3][4] = {8,16,9,52,3,15,27,6,14,25,2,10}; Col 0 Col 1 Col 2 Col 3 Row 0 8 16 9 52 Row 1 3 15 27 6 Row 2 14 25 2 10

9 การกำหนดค่าใน array 2 มิติ
int A[2][3]; // ประกาศตัวแปร array 2 มิติที่มี 3 แถว 4 คอลัมน์ A[0][0] = 1; A[0][1] = 2; A[0][2] = 3; A[1][0] = 4; A[1][1] = 5; A[1][2] = 6; ค่าที่ถูกเก็บใน array A: 1 2 3 4 5 6

10 ตัวอย่างการกำหนดค่าใน array 2 มิติ และพิมพ์สมาชิกทุกตัวออกทางหน้าจอ

11 ตัวอย่างการรับค่าจาก keyboard มาเก็บใน array 2 มิติ และพิมพ์สมาชิกทุกตัวออกทางหน้าจอ

12 แบบฝึกหัด จงเขียนโปรแกรมสำหรับรับ เมตริกซ์ ของเลขจำนวนเต็มขนาด 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

13

14 แบบฝึกหัด จงเขียนโปรแกรมสำหรับรับเมตริกซ์จากผู้ใช้ 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

15

16 แบบฝึกหัด จงเขียนโปรแกรมสำหรับรับข้อมูลรูปภาพซึ่งประกอบด้วยสัญลักษณ์ o และ x ขนาด m แถว n คอลัมน์ แล้วให้สร้าง array อีกอันหนึ่งเพื่อเก็บผลลัพธ์ที่เป็นการกลับภาพนั้น โดยตำแหน่งใดที่เป็น o ให้เปลี่ยนเป็น x และตำแหน่งที่เป็น x ให้เปลี่ยนเป็น o แล้วแสดงผลลัพธ์ออกทางหน้าจอ ตัวอย่างข้อมูลเข้า 5 4 xoox oxxo xxxx ตัวอย่างข้อมูลออก oxxo xoox oooo

17

18 ตัวอย่าง array หลายมิติ
Example: int A, B1[6], B2[6], C[3][4], D[3][4][5], E[3][4][5][3]; E A B1 C D B2


ดาวน์โหลด ppt Lecture 11: อาร์เรย์แบบหลายมิติ

งานนำเสนอที่คล้ายกัน


Ads by Google