170 likes | 338 Views
Array. อาร์เรย์. อาร์เรย์ คือ กลุ่มข้อมูลประเภทเดียวกันที่มีการอ้างอิงถึงชื่อตัวแปรชื่อเดียวกัน โดยการอ้างอิงข้อมูลแต่ละตัวในอาร์เรย์จะมีการใช้ตัวชี้เพื่ออ้างอิง ตัวชี้ (index) ไว้อ้างถึงข้อมูลในอาร์เรย์ สมาชิก (element) คือ สมาชิกในอาร์เรย์. การประกาศตัวแปรชนิดอาร์เรย์ 1 มิติ.
E N D
อาร์เรย์ • อาร์เรย์ คือ กลุ่มข้อมูลประเภทเดียวกันที่มีการอ้างอิงถึงชื่อตัวแปรชื่อเดียวกัน โดยการอ้างอิงข้อมูลแต่ละตัวในอาร์เรย์จะมีการใช้ตัวชี้เพื่ออ้างอิง • ตัวชี้ (index) ไว้อ้างถึงข้อมูลในอาร์เรย์ • สมาชิก (element) คือ สมาชิกในอาร์เรย์
การประกาศตัวแปรชนิดอาร์เรย์ 1 มิติ • รูปแบบ: <ประเภทข้อมูล> <ชื่ออาร์เรย์>[ขนาดของอาร์เรย์] • ตัวอย่าง • int score[10]; • char name[21]; • float x[20];
การกำหนดค่าเริ่มต้นให้กับอาร์เรย์ 1 มิติ • รูปแบบ: <ประเภทข้อมูล> <ชื่ออาร์เรย์> [ขนาดอาร์เรย์] = {ค่าของสมาชิกแต่ละตัว} • ตัวอย่างเช่น • int num[5] ={10, 20, 30, 40, 50}; • char character[3] ={‘a’, ‘b’, ‘c’}; • char st[6] = “Hello”; เท่ากับ char st[6] = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’};
การเข้าถึงสมาชิกในอาร์เรย์ 1 มิติ • การกำหนดค่าให้โดยตรง • รูปแบบ: <ชื่ออาร์เรย์>[ตัวชี้] = ค่าที่ต้องการกำหนดให้ • ตัวอย่างเช่น กำหนดให้ char ch[6]; inti[3]; • ch[0] = ‘H’; • ch[1] = ‘e’; • i[1]= 5; i[2] i[0] i[1] i ch[1] ch[2] ch[3] ch[4] ch[5] ch[0] ch
การเข้าถึงสมาชิกในอาร์เรย์ 1 มิติ • การอ่านค่าเพื่อเก็บในอาร์เรย์ • ตัวอย่างเช่น • scanf(“%c”, character[1]); • scanf(“%c”, i[0]);
การเข้าถึงสมาชิกในอาร์เรย์ 1 มิติ • การเก็บค่าให้กับสมาชิกในอาร์เรย์โดยใช้ loop • รูปแบบ: for (int index = 0; index < arraysize; ++index) <กำหนดค่าหรืออ่านค่าของสมาชิกที่มีตัวชี้อยู่> • ตัวอย่าง for (inti=0; i<10; ++i) scanf(“%d”, sample[i]);
ตัวอย่างการใช้อาร์เรย์ 1 มิติ • เขียนโปแกรมเพื่อรับค่าจำนวนเต็มเข้ามา 10 จำนวน • เขียนโปรแกรมเพื่อแสดงผลลัพธ์ จำนวนเต็มในข้อ 1. • หาผลบวกของจำนวน 10 จำนวนในข้อ 1. • แสดงผลลัพธ์ของผลบวกในข้อ 3.
แบบฝึกหัด • เขียนโปรแกรมเพื่อค้นหาตัวเลขในตัวแปรอาร์เรย์ โดยกำหนดให้ตัวแปรอาร์เรย์เก็บข้อมูลได้ 10 จำนวน และมีค่าดังนี้ 25, 100, 84, 43, 98, 0, 55, 38, 12, 7 • จากนั้นรับตัวเลขที่ต้องการค้นหาเข้ามา พื่อตรวจสอบว่าตัวเลขนั้นอยู่ที่ตำแหน่งใดภายในตัวแปรอาร์เรย์ • ถ้าไม่พบตัวเลขที่ต้องการค้น ให้แสดงข้อความ “Not found data”
การส่งค่าจากอาร์เรย์ 1 มิติไปยังฟังก์ชัน • การเรียกใช้ • การนิยาม
อาร์เรย์หลายมิติ • รูปแบบ <ประเภทข้อมูล> ชื่อตัวแปร[ขนาด N] …[ขนาด 2][ขนาด 1]; • ตัวอย่างเช่น intm[4][3][6]; • การกำหนดค่าเริ่มต้น intxy[3][3] = {10,20,30,40,50,60,70,80,90};
ตัวอย่าง • เขียนโปรแกรมเพื่อรับคะแนน 4 วิชา ของนักเรียน 5 คน • พร้อมคำนวณหาค่าเฉลี่ยของคะแนนในแต่ละวิชา • และคำนวณคะแนนเฉลี่ยของนักเรียนแต่ละคน • และหาว่านักเรียนสอบผ่านกี่คน โดยนักเรียนจะสอบผ่านก็ต่อเมื่อมีคะแนนเฉลี่ยมากกว่าหรือเท่ากับ 50 คะแนน
รับคะแนน 4 วิชา ของนักเรียน 5 คน ตัวอย่างหน้าจอข้อมูลเข้า ตัวอย่างโปรแกรม
คำนวณหาค่าเฉลี่ยของคะแนนในแต่ละวิชาคำนวณหาค่าเฉลี่ยของคะแนนในแต่ละวิชา ตัวอย่างหน้าจอแสดงผลลัพธ์ ตัวอย่างโปรแกรม
และคำนวณคะแนนเฉลี่ยของนักเรียนแต่ละคนและหาว่านักเรียนสอบผ่านกี่คน โดยนักเรียนจะสอบผ่านก็ต่อเมื่อมีคะแนนเฉลี่ยมากกว่าหรือเท่ากับ 50 คะแนน ตัวอย่างหน้าจอแสดงผลลัพธ์ ตัวอย่างโปรแกรม นับจำนวนนักศึกษาที่สอบผ่าน