35
Array สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยแม่โจ้ โดย อาจารย์ภานุวัฒน์ เมฆะ

Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

Array

สาขาวชาวทยาการคอมพวเตอร คณะวทยาศาสตร มหาวทยาลยแมโจ

โดย อาจารยภานวฒน เมฆะ

Page 2: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

Introduction

-ตวแปร (Array)

-การประกาศตวแปรอารเรย

-ประเภทของอารเรย

-อารเรย 1 มต (One Dimention)

-อารเรย 2 มต (Two Dimention)

Page 3: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

ตวแปร (Array)

- ตวแปรอารเรย หรอชดตวแปรชด เปนโครงสรางขอมล

(Data Structure)

- ท าหนาทในการจองเนอทในหนวยความจ า ตามทระบขนาด

หนวยความจ าในตวแปรอารเรย

- เพอเกบขอมลในแตละชอง ของขนาดหนวยความจ า

-โดยมตวระบต าแหนง (Subscript) เปนตวบงชต าแหนงของ

ขอมลในอารเรย ในการรบขอมลและแสดงผลขอมล

Page 4: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

การประกาศตวแปรอารเรย

Page 5: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

ประเภทของอารเรย

- อารเรย 1 มต (One Dimention)

- อารเรย 2 มต (Two Dimention)

- อารเรย 3 มต (Three Dimention)

Page 6: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

อารเรย 1 มต (One Dimention)

Page 7: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

อารเรย 1 มต (One Dimention)

Page 8: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

ตวอยาง

บรรทดแรก เปนการประกาศชนดตวแปร num

เปนตวแปรชดทมจ านวน 30 สมาชก

เกบคาเปนจ านวนเตม

บรรทดทสอง เปนการก าหนดคาใหสมาชก

ของ num ทมตวช (index) 22 เกบคา 187

int num[30];

num[22] = 187;

Page 9: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

โจทย โคด array 1 มต

ใหสราง โปรแกรมเกบขอมลคะแนนนกเรยน3 คน โดยใช array เปนตวเกบขอมล และสามารถเรยกดขอมลนกเรยนทง 3 คนทไดท าการกรอกไป

Page 10: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

โจทยจงแสดงการรบคาคะแนนนกศกษา 5 คน เกบไว

ในอารเรย ท าการค านวณหา ผลรวมคะแนนทงหมดและค านวณหา คาเฉลยของคะแนน พรอมแสดงผลขอมลจากอารเรยทงหมดทไดท าการรบ คามาทง 5 คน

Page 11: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data
Page 12: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

อารเรย 2 มต (Two Dimention)

Page 13: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

อารเรย 2 มต (Two Dimention)

Page 14: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data
Page 15: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data
Page 16: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

ตย. การก าหนดลกษณะของอารเรย 2 มต

int table [5] [4];

โดยตวเลขตวแรกจะบอกจ านวนของแถว และตวเลขตวท 2 จะบอกจ านวนของคอลมนในแตละแถว

การก าหนดคาเรมตน

จะท าไดหลงจากทไดท าการประกาศและก าหนดลกษณะของอารเรยแลวในแตละ Element ของอารเรยอาเรยจะยงไมมคาบรรจอย ในการก าหนดคาเรมตนของ Element แตละตวสามารถท าไดหลงจากการประกาศ

Page 17: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

การก าหนดคาใหอาเรย ม 2 รปแบบ

ตวอยาง: สมมตวาตองการใช 20 คา

- การก าหนดคาเรมตนแบบทางเดยวจะเปนดงน

int table [5] [4]; ={ 0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33, 40, 41, 42, 43 };

Page 18: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

การก าหนดคาใหอาเรย ม 2 รปแบบ

ตวอยาง: สมมตวาตองการใช 20 คา

- การก าหนดคาเรมตนแบบทางเดยวจะเปนดงน

int table [5] [4]; ={ 0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33, 40, 41, 42, 43

};

Page 19: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

- การก าหนดคาเรมตนแบบจดกลม จะเปนดงน

int table [5] [4];{

{ 0, 1, 2, 3 },{10, 11, 12, 13 },{20, 21, 22, 23 },{30, 31, 32, 33 },{40, 41, 42, 43 }

}; /* table */

Page 20: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

แตเมอใดทผใชไมตองการจะก าหนดขนาดของมตใดมตหนง ผใชกสามารถท าการก าหนดคาเรมตนไดดงน

int table [] [4] ={

{ 0, 1, 2, 3 },{10, 11, 12, 13 },{20, 21, 22, 23 },

{30, 31, 32, 33 },{40, 41, 42, 43 }

}; /* table */

Page 21: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

และถาตองการก าหนดคาเรมตนทงอารเรยใหเปน 0 ทงหมด ผใชสามารถท าไดดงน

int table [5] [4] = {0};

Page 22: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

การรบคา เปนการใชฟงกชน scanf มารบคาใสลงในแตละ Element ของอารเรย 2 มตนน จะตองใชลป 2 ลปซอนกน สมมตวาอารเรยมขนาด n m ลปแรกจะเปนของแถว สวนลปท 2 จะเปนของคอลมนสามารถท าไดดงน

for (row = 0; row < 5; row++)for (column = 0; column < 4; column++)

scanf (“%d”,&table[row][column]);

Page 23: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

การแสดงคา เปนการน าคาในแตละ Element ออกมาแสดง โดยใชลป for ซอนกน 2 ลปเขามาชวย โดยลปแรกจะเปนตวควบคมการพมพของแถว และลปท 2 จะเปนตวควบคมการพมพของคอลมน เมอจะพมพอารเรย table ออกมาเปนรปแบบตาราง จะตองท าการขนบรรทดใหมทกครง เมอพมพแตละแถวจบ ซงแสดงดงตวอยางดานลาง

for (row = 0; row < 5; row++) {for (coluun =0; column < 4; column++){

printf(“%8d”, tale[row][column]);}

printf(“\n”);}

Page 24: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

การประกาศและการก าหนดลกษณะของอาร เรย 3 มต

อารเรยหลายมตจะเหมอนกบอารเรย 1 มต ในการประกาศและก าหนดลกษณะกอนการใช ซงการประกาศและก าหนดลกษณะนนจะเปนตวบอกใหคอมไพเลอรรวา อารเรยทสรางมชออะไร มชนดขอมลของแตละ Element เปนอะไร และมขนาดของแตละมตเปนเทาไร สามารถท าการประกาศและก าหนดลกษณะไดดงน

Page 25: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

int table [3] [5][4];

การก าหนดคาเรมตน หลงจากทไดท าการประกาศและก าหนดลกษณะของอารเรยแลวในแตละ Element ของอารเรยจะยงไมมคาบรรจอย ในการก าหนดคาเรมตนของ Element แตละตวสามารถท าไ ดห ล ง จ า ก ท ก า รป ระ ก า ศ อ า ร เ ร ย โ ด ย ก า ร ก า หนด ค า เ ร ม ตน ส า ม า ร ถท า ไ ด ด ง น

int table [3][5][4];

Page 26: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

int table [3][5][4];

{{ /* แผน 0 */

{ 0, 1, 2, 3}, /* แถว 0 */{10, 11, 12 13}, /* แถว 1 */{20, 21, 22, 23}, /* แถว 2 */{30, 31, 32, 33}, /* แถว 3 */{40, 41, 42, 43} /* แถว 4 */

},{ /* แผน 0 */

{100, 101, 102, 103}, /* แถว 0 */{110, 111, 112, 113}, /* แถว 1 */{120, 121, 122, 123}, /* แถว 2 */{130, 131, 132, 133}, /* แถว 3 */{140, 141, 142, 143} /* แถว 4 */

},{ /* แผน 0 */

{200, 201, 202, 203}, /* แถว 0 */{210, 211, 212, 213}, /* แถว 1 */{220, 221, 222, 223}, /* แถว 2 */{230, 231, 232, 233}, /* แถว 3 */{240, 241, 242, 243} /* แถว 4 */

}}; /* table */

Page 27: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

• และถาตองการก าหนดคาเรมตนทงอารเรยใหเปน 0 ทงหมด ผใชสามารถท าไดดงนint table [3][5][4] = {0};

Page 28: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

อารเรย 2 มต (Two Dimention)

โจทย ใหสรางโปรแกรมรบขอมลการท างานใน

แตละวนของชายคนหนง โดยทใหรบคาวนท

ท างานและเงนรายวนทได มา 2 วน แลวกท า

การแสดงวาออกมาวาวนทเทาไรและไดรบเงน

รายวนเทาไร (โดยท าการเขยนโดยการใช Array

2 มต)

Page 29: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

อารเรย 3 มต (Three Dimention)

Page 30: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

อารเรย 3 มต (Three Dimention)

Page 31: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

TEST_LAB

เขยนโปรแกรมถาม user วาตองการปอนตวเลขทงหมดกรอบ เสรจแลวใหรบคาตามจ านวนรอบท user ระบ

และน าขอมลนนไปเกบใน array เสรจแลวแสดงผลลพธขอมลใน array นนๆ

Page 32: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

การบาน อาเรย 1 มตหาคาสงสดของตวเลข 20 ตว พรอมบอก

ต าแหนงทเกบค าสงสด

Page 33: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

ขอถามอกนดๆๆๆ กอนกลบ

เขยนแบบน ถก หรอ ผด

Page 34: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

การบานจงหาคา2 3

4 9

5 5

6 6

Page 35: Array - Dr. Paween · - ตัวแปรอาร์เรย์ หรือชุดตัวแปรชุด เป็นโครงสร้างข้อมูล (Data

End