ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1 ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1 ตัวแปรชุด (Array) 1 มิติ ตัวแปรชุด (Array) 2 มิติ
จุดประสงค์เชิงพฤติกรรม สามารถบอกถึงลักษณะต่าง ๆ ของตัวแปรชุดได้ สามารถใช้ตัวแปรชุด 1 มิติ ในการเขียนโปรแกรมได้ สามารถใช้ตัวแปรชุด 2 มิติ ในการเขียนโปรแกรมได้ สามารถนำตัวแปรชุดไปประยุกต์ใช้ในการเขียนโปรแกรมได้
ข้อมูลแต่ละตัวเรียกว่าเป็นสมาชิกของตัวแปรชุด ตัวแปรชุด (Arrays) กลุ่มของข้อมูลซึ่งมีชนิดข้อมูลเป็นอย่างเดียวกัน อ้างถึงกลุ่มข้อมูลชุดนี้ ด้วยชื่อตัวแปรเดียวกัน ข้อมูลแต่ละตัวเรียกว่าเป็นสมาชิกของตัวแปรชุด สมาชิกแต่ละตัวจะมีหมายเลข/ ดัชนี (index) กำกับ สมาชิกตัวที่ ๑ สมาชิกตัวที่ ๒ สมาชิกตัวที่ N ...
ตัวแปรชุด(Arrays) การประกาศตัวแปรชุด การอ้างถึงหรือการเรียกใช้ข้อมูลของตัวแปรชุด ความสัมพันธ์ระหว่างตัวแปรชุดกับตัวแปรพอยน์เตอร์ การส่งผ่านตัวแปรชุดให้กับฟังก์ชัน ตัวแปรชุด (Array) หมายถึง ตัวแปรที่มีชื่อเดี่ยว ซึ่งมีตัวเลขกำกับชื่อตัวแปรนั้น ๆ โดยสามารถเก็บข้อมูลได้ในลักษณะเดียวกับตัวแปรหลายตัว
ตัวแปรชุด 1 มิติ (One Dimension) เป็นตัวแปรชุดที่มีเลขแสดงตำแหน่งเพียงตัวเดียว รูปแบบ ชนิดตัวแปร ชื่อตัวแปร [จำนวนสมาชิก] ในตัวแปรชุดนั้นดัชนี (index) ของตัวสมาชิกจะเริ่มที่ 0 เสมอ
ตัวอย่าง int a[5]; หมายถึง a เป็นอาร์เรย์ที่มี 5 สมาชิก โดยสมาชิกทุกตัวเก็บค่าเป็นจำนวนเต็มและสมาชิกทุกตัวใช้พื้นที่ในหน่วยความจำ 2 ไบท์ ชื่อสมาชิก[ดัชนี] a[0] a[1] a[2] a[3] a[4] ข้อมูลในอาร์เรย์ 15 250 8 87 42
ตัวอย่าง float price[5]; ชื่อสมาชิก[ดัชนี] price[0] price[1] price[2] price[3] price[4] ข้อมูลในอาร์เรย์ 15.50 250.00 8.50 87.75 42.45
การกำหนดค่าให้กับอาร์เรย์ การกำหนดค่าให้กับอาร์เรย์มี 2 ลักษณะ คือ - การกำหนดค่าให้กับสมาชิกทุกตัว เป็นการกำหนดค่าให้กับสมาชิกทุกตัวในขณะที่ประกาศชนิด ตัวแปร - การกำหนดค่าให้กับสมาชิกตัวใดตัวหนึ่ง เป็นการกำหนดค่าให้กับสมาชิกเฉพาะตัว สมาชิกตัวอื่นไม่ถูก กำหนดค่า
การกำหนดค่าให้กับสมาชิกทุกตัว 1. การกำหนดค่าให้กับอาร์เรย์ที่มีค่าเป็นตัวเลข รูปแบบ ชนิดตัวแปร ชื่อตัวแปร[จำนวนสมาชิก] = {value-list} value-list หมายถึง ค่าคงที่ที่ต้องการกำหนดให้อาร์เรย์ โดยแต่ละค่าต้องคั่นด้วยเครื่องหมายคอมม่า และทั้งหมดต้องเขียนอยู่ในเครื่องหมายวงเล็บปีกกา {}
ตัวอย่าง int X[5] = {5, 2, 4, 1, 3}; int X[ ] = {5, 2, 4, 1, 3}; X[0] X[1] X[2] X[3] X[4]
การกำหนดค่าให้กับสมาชิกทุกตัว (ต่อ) 2. การกำหนดค่าให้กับอาร์เรย์ชนิด Character การกำหนดค่าทีละหลายตัว รูปแบบ ชนิดตัวแปร ชื่อตัวแปร[จำนวนสมาชิก] = {value-list} ตัวอย่าง char a[5] = {‘L’,’O’,’V’,’E’,’\o’}
การกำหนดค่าให้กับอาร์เรย์ชนิด Character char id[8] = { ‘2’,’3’,’0’,’5’,’1’,’7’,’1’,’\0’ }; id[0] id[1] id[2] id[3] id[4] id[5] id[6] id[7] ‘2’ ‘3’ ‘0’ ‘5’ ‘1’ ‘7’ ‘\0’
การกำหนดค่าให้กับสมาชิกทุกตัว (ต่อ) การกำหนดค่าให้กับอาร์เรย์ชนิด Character การกำหนดเป็นข้อความ รูปแบบ ชนิดตัวแปร ชื่อตัวแปร[จำนวนสมาชิก] = “ข้อความ” ตัวอย่าง char a[5] = “LOVE” char a[ ] = “LOVE”
การกำหนดค่าให้กับสมาชิกตัวใดตัวหนึ่ง เป็นการกำหนดค่าให้กับสมาชิกเฉพาะตัว ตัวอย่าง int num[4]; num[3] = 120; char str[10]; str[5] = ‘V’;
ตัวอย่าง # include <stdio.h> #include <conio.h> void main ( ) { int data [5] = {10, 20, 30, 40, 50}; printf(“data[2] = %d\n”,data[2] ); printf(“data[4] = %d\n”,data[4] ); }
ตัวอย่าง กำหนดค่าเริ่มต้นให้กับสมาชิกทุกตัวของ score มีค่าเป็น 0 int i, score[10]; for (i= 0; i<10; i++) score[i] = 0; ... score[0] score[1] score[9]
ตัวอย่าง เรียงลำดับคะแนนจากน้อยไปมาก #define N 5 : int i, j, tmp, score[N]= {5, 2, 4, 1, 3}; for (i = 0; i< N -1; i++) for (j = i+1; j< N; j++) if (score[i] > score[ j]) { tmp = score[i]; score[i] = score[ j]; score[j] = tmp; }
#include <conio.h> #include <stdio.h> void main() { clrscr(); int i,a=0,num[5]; float sum=0,aver=0; while (a<=4) { printf("input number "); scanf("%d",&num[a]); sum = sum+num[a]; a++; } i=0; while (i<=4) { printf("num[%d] is %d \n",i,num[i]); i++; } aver = sum/i; printf("\n\n sum of %d number is %.2f",i,aver); getch(); }
ตัวแปรชุดหลายมิติ ตัวแปรชุด 2 มิติ (two dimensional arrays) หมายถึง อาร์เรย์ที่มีชุดอินเด็กซ์ จำนวน 2 ชุด โดยชุดแรกจะเป็นตัวเลขที่แสดงตำแหน่งแถว และชุดที่สองจะเป็นตัวเลขแสดงตำแหน่งคอลัมน์ รูปแบบ ชนิดตัวแปร ชื่อตัวแปร [จำนวนสมาชิกที่ 1] [จำนวนสมาชิกที่ 2]; 0 1 2 3 เช่น int num [3][4]; 0 1 3 [0][0] [0][1] [0][2] [0][3] [1][0] [1][1] [1][2] [1][3] [2][0] [2][1] [2][2] [2][3]
ตัวแปรชุด 2 มิติ (two dimensional arrays) int a[2][3] ={{1,2,3},{4,5,6}}; 1 2 3 4 5 6 แถว 0 แถว 1 เพื่อเข้าให้ถึงข้อมูลซึ่งเป็นสมาชิกของตัวแปรชุด จะต้องใช้ตัวบ่งชี้เท่ากับจำนวนมิติ a[0][0] /*สมาชิกที่อยู่ในแถวแรก สดมภ์แรก*/ a[1][2] /*สมาชิกที่อยู่ในแถวที่สอง สดมภ์ที่ ๓ */ a[k][k+1] /*สมาชิกที่อยู่ในแถว k สดมภ์ k+1*/
ตัวอย่าง ผลรัน Void main() { int tw[3][4] = { {2,4,6,8},{1,3,5,7},{1,2,3,4} }; int r,c; clrscr(); for (r=0;r<=2;r++) { printf (“\n”); for (c=0;c<=3;c++) printf(“%d\t”,tw[r][c]); } ผลรัน 2 4 6 8 1 3 5 7 1 2 3 4
สรุป ตัวแปรชุด หมายถึง กลุ่มของข้อมูลซึ่งมีชนิดข้อมูลเป็นอย่างเดียวกัน อ้างถึงกลุ่มข้อมูลชุดนี้ด้วยชื่อตัวแปรเดียวกัน และ อ้างถึงสมาชิกแต่ละตัวด้วยชื่อตัวแปรชุดพร้อมระบุหมายเลข/ดัชนี การประกาศตัวแปรชุด (1) ชนิดข้อมูล ชื่อตัวแปร [จำนวนสมาชิกในมิติที่ 1] [จำนวน สมาชิกในมิติที่ 2 ]; (2) ชนิดข้อมูล ชื่อตัวแปร [ ] = { ค่าคงที่ตัวที่ 1,ค่าคงที่ตัวที่ 2,…, ค่าคงที่ตัวสุดท้าย }; (3) ชนิดข้อมูล ชื่อตัวแปร [n] = { ค่าคงที่ตัวที่ 1, ค่าคงที่ตัวที่ 2, …, ค่าคงที่ตัวสุดท้าย };
ชื่อตัวแปรชุด [ดัชนี หรือ ตัวบ่งชี้ ] สรุป (ต่อ) การอ้างถึงหรือการเรียกใช้ข้อมูลของตัวแปรชุด ชื่อตัวแปรชุด [ดัชนี หรือ ตัวบ่งชี้ ] ในภาษา C ดัชนี มีชนิดข้อมูลเป็นจำนวนเต็ม ดัชนีตัวแรกมีค่าเป็น 0 เสมอ อาจอยู่ในรูปค่าคงที่ หรือ ตัวแปร หรือ นิพจน์ที่ให้ค่าเป็นจำนวนเต็ม จำนวนมิติของตัวแปรชุด จะบอกถึงจำนวนดัชนีที่ต้องใช้เพื่อระบุถึงสมาชิกของตัวแปรชุด
แบบฝึกหัด จงเขียนโปรแกรมเพื่อสร้างอาร์เรย์ 5 สมาชิก แล้วรับค่าเข้าทางคีย์บอร์ด ไปเก็บไว้ในอาร์เรย์ แล้วหาค่าต่ำสุดของค่าที่เก็บอยู่ในอาร์เรย์