02739211 Principles of Programming อาร์เรย์ (Arrays) 02739211 Principles of Programming
02739211 Principles of Programming หัวข้อ ตัวแปรอาร์เรย์ อาร์เรย์หนึ่งมิติ (One Dimension Arrays) อาร์เรย์สองมิติ (Two Dimension Arrays) 02739211 Principles of Programming
02739211 Principles of Programming อาร์เรย์ (Arrays) เป็นตัวแปรที่ใช้จัดเก็บค่าตัวแปรประเภทเดียวกันได้หลาย ๆ ค่า เป็นโครงสร้างข้อมูลชนิดหนึ่ง ที่มีการจัดเก็บแบบแถวลำดับ การอ้างอิงชื่ออาร์เรย์ จะรู้ตำแหน่งที่อยู่ที่ใช้จัดเก็บอิลิเมนท์ตัวแรก การอ้างอิงค่าตัวแปรภายในอาร์เรย์จะใช้ Subscript หรืออาจเรียกว่า Index เช่น score[3] เป็นการอ้างถึงตัวแปร score ในตู้หน่วยความจำหมายเลข 3 (ตู้แรกหมายเลข 0) 02739211 Principles of Programming
การประกาศตัวแปรอาร์เรย์หนึ่งมิติ รูปแบบ ชนิดข้อมูล ชื่อตัวแปร[จำนวนอิลิเมนท์]; จำนวนอิลิเมนท์ เป็นจำนวนเต็มบวก อาจเป็นค่าคงที่หรือ นิพจน์ทางคณิตศาสตร์ เช่น int score[45]; ประกาศตัวแปรอาร์เรย์ชนิดจำนวนเต็มชื่อ score ให้มี 45 อิลิเมนท์ มี subscript จาก 0 ถึง 44 (45-1) ได้แก่ score[0] score[1] … score[44] 02739211 Principles of Programming
ตู้หน่วยความจำของอาร์เรย์ score[45] … score[43] score[44] 02739211 Principles of Programming
ตัวอย่างการประกาศตัวแปรอาร์เรย์หนึ่งมิติ ตัวแปร/ค่าคงที่ main() { int size = 5; int number[size]; float score[size*2]; … } นิพจน์คณิตศาสตร์ 02739211 Principles of Programming
ตัวอย่างการใช้ตัวแปรอาร์เรย์หนึ่งมิติ เขียนโปรแกรมเพื่อรับค่าจำนวนเต็มบวก 5 จำนวน โดยประกาศตัวแปรสำหรับรับค่าเพียง ตัวแปรเดียว พิมพ์ค่าที่รับมาทั้งหมดออกหน้าจอตามลำดับ หาผลรวมแล้วพิมพ์ออกหน้าจอ หาค่าเฉลี่ยแล้วพิมพ์ออกหน้าจอเป็นทศนิยม 2 ตำแหน่ง 02739211 Principles of Programming
ตัวอย่างการใช้ตัวแปรอาร์เรย์หนึ่งมิติ กำหนด array c ตัวเดียว สำหรับรับค่า int 5 อิลิเมนท์ แทนที่จะกำหนดตัวแปร int 5 ตัว main() { int sum=0; int c[5]; float average=0.0; printf("\n Enter 5 positive integers: (use a space between each number)\n"); scanf("%d %d %d %d %d",&c[0],&c[1],&c[2],&c[3],&c[4]); printf("\n"); for(int i=0;i <=4 ;i++) { printf("Element %d = %d\n",i,c[i]); sum += c[i]; } average = sum/5; printf("\n\n Sum of the five element is : %d",sum); printf("\n Average of the five number is : %.2f",average); getch(); ผลลัพธ์ 02739211 Principles of Programming
การกำหนดค่าเริ่มต้นให้กับตัวแปรอาร์เรย์หนึ่งมิติ รูปแบบที่ 1 (กำหนดจำนวนอิลิเมนท์) ชนิดข้อมูล ชื่อตัวแปร[จำนวนอิลิเมนท์] = {ค่าที่1,ค่าที่2,ค่าที่3,...,ค่าที่n}; เช่น char vowel [5] = { ‘a’, ‘e’, ‘i’, ‘o’, ‘u’}; เป็นการกำหนดตัวแปร array ของอักขระ (char) ชื่อ vowel ให้มี 5 อิลิเมนท์ พร้อมกับกำหนดค่าเริ่มต้นให้เป็น a, e, i, o, u ตามลำดับ ค่าข้อมูลในแต่ละอิลิเมนท์ vowel[0] vowel[1] vowel[2] vowel[3] vowel[4] a e i o u 02739211 Principles of Programming
การกำหนดค่าเริ่มต้นให้กับตัวแปรอาร์เรย์หนึ่งมิติ รูปแบบที่ 2 (ไม่กำหนดจำนวนอิลิเมนท์) ชนิดข้อมูล ชื่อตัวแปร[] = {ค่าที่1,ค่าที่2,ค่าที่3,...,ค่าที่n}; เช่น char vowel [] = { ‘a’, ‘e’, ‘i’, ‘o’, ‘u’}; เป็นการกำหนดตัวแปร array ของอักขระ (char) ชื่อ vowel ไม่ระบุจำนวนอิลิเมนท์ แต่กำหนดค่าเริ่มต้นให้เป็น a, e, i, o, u ตามลำดับ ค่าข้อมูลในแต่ละอิลิเมนท์ vowel[0] vowel[1] vowel[2] vowel[3] vowel[4] a e i o u 02739211 Principles of Programming
ตัวอย่างการกำหนดค่าเริ่มต้นตัวแปรอาร์เรย์ เขียนโปรแกรมเพื่อนำค่าอักขระ 5 ตัว ที่กำหนดค่าเริ่มต้นให้แก่อาร์เรย์ไว้แล้ว พิมพ์ออกหน้าจอ รอบแรกพิมพ์ตามลำดับจากหน้าไปหลัง รอบที่สองพิมพ์กลับลำดับจากหลังมาหน้า 02739211 Principles of Programming
ตัวอย่างการกำหนดค่าเริ่มต้นให้ตัวแปรอาร์เรย์ 1 ประกาศ array letter[5] พร้อมกำหนดค่าเริ่มต้น main() { char letter[5]={'A','B','C','D','E'}; { printf("***** Value of letter[] in forward order *****\n"); for(int i=0;i<=4;i++) printf("The element number %d is : %c\n",i,letter[i]); printf("\n\n##### Value of letter[] in reverse order #####\n"); for(int j = 4;j>=0;j--) printf("The element number %d is :%c\n",j,letter[j]); getch(); } ผลลัพธ์ 02739211 Principles of Programming
ตัวอย่างการกำหนดค่าเริ่มต้นให้ตัวแปรอาร์เรย์ 2 ประกาศ array letter[] พร้อมกำหนดค่าเริ่มต้น main() { char letter[]={'A','B','C','D','E'}; { printf("***** Value of letter[] in forward order *****\n"); for(int i=0;i<=4;i++) printf("The element number %d is : %c\n",i,letter[i]); printf("\n\n##### Value of letter[] in reverse order #####\n"); for(int j = 4;j>=0;j--) printf("The element number %d is :%c\n",j,letter[j]); getch(); } ผลลัพธ์ 02739211 Principles of Programming
02739211 Principles of Programming Quiz 02739211 Principles of Programming