วันพุธที่ 21 สิงหาคม พ.ศ. 2556

ใบความรู้ที่ 7.2 การหาขนาดของอาเรย์

ใบความรู้ที่ 7.2
การหาขนาดของอาเรย์

            เราได้เรียนรู้จากปฏิบัติการครั้งก่อนไปแล้วว่าเราสามารถหาขนาดของอาเรย์หนึ่งมิติใด ๆ ได้โดยใช้คุณสมบัติ Length ซึ่งเป็นคุณสมบัติที่นำมาใช้ได้กับอาเรย์หลายมิติได้เช่นกัน อย่างไรก็ตาม การเขียน
โปรแกรมสำหรับงานบางอย่างจำเป็นต้องการทราบสัดส่วนของอาเรย์ในแต่ละมิติ (ดังเช่นการประมวลผลแมตริกซ์) ดังนั้นภาษา C# จึงเตรียมเมท็อดชื่อ GetLength เพื่อตรวจสอบขนาดอาเรย์ที่มิติต่าง ๆ ซึ่งมีการใช้งานในรูปของนิพจน์แบบจำนวนเต็มดังนี้

ArrayName.GetLength(dim_idx)

โดยที่ dim_idx แสดงหมายเลขมิติที่เราต้องการทราบขนาด สำหรับอาเรย์แบบสองมิตินั้นมิติหมายเลข 0
หมายถึงแถว และมิติหมายเลข 1 หมายถึงคอลัมน์ ดังนั้นนิพจน์สำหรับตรวจสอบจำนวนแถวของอาเรย์สอง มิติจึงเขียนได้เป็น

ArrayName.GetLength(0)

และนิพจน์สำหรับตรวจสอบจำนวนคอลัมน์ของอาเรย์จึงเป็น

ArrayName.GetLength(1)

ตัวอย่างที่ 7.4 พิจารณาแมตริกซ์ A จากตัวอย่างที่ 7.2
    •  ทำให้ทุกค่าในคอลัมน์แรกของแมตริกซ์ A มีค่าเท่ากับ 1
for (int i = 0; i < A.GetLength(0); i++)
      A[i,0] = 1;

    •  ทำให้ทุกค่าในแถวที่สองของแมตริกซ์ A มีค่าเท่ากับ 5
for (int i = 0; i < A.GetLength(1); i++)
      A[1,i] = 5;

    •  ทำให้แมตริกซ์ A กลายเป็นแมตริกซ์ศูนย์
for (int i = 0; i < A.GetLength(0); i++)
   for (int j = 0; i < A.GetLength(1); j++)
      A[i,j] = 0;


แบบฝึกหัดเพิ่มเติมเรื่องอาเรย์สองมิติ

1. เขียนโปรแกรมบวกแมตริกซ์ 2 แมตริกซ์ ดังนี้


ต้องการผลลัพธ์ ดังนี้
6     8     7
6     9     9
7     5     4

2. เขียนโปรแกรมโดยใช้อาเรย์สองมิติเก็บข้อมูล เพื่อแสดงภาพดังนี้



3. เขียนโปรแกรมโดยใช้ข้อมูลจากตัวแปรอาเรย์ในข้อ 1 และให้แสดงภาพดังนี้
 








ไม่มีความคิดเห็น:

แสดงความคิดเห็น