ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
อาร์เรย์ (Array)
2
การเก็บข้อมูลด้วยอาร์เรย์
float Grade_student1 = 2.12; float Grade_student2 = 3.62; float Grade_student3 = 0.89; ถ้าสมมติว่ามีนักศึกษา 1000 คน? อาร์เรย์ (Array) คือ รูปแบบการเก็บข้อมูล ที่สามารถเก็บข้อมูลได้หลาย ค่า โดยใช้ตัวแปรเพียงตัวเดียว โดยที่ค่าต่างๆ เหล่านี้ มีชนิดข้อมูลแบบ เดียวกัน สมาชิก (Element) คือ ข้อมูลที่ถูกเก็บอยู่ภายในอาร์เรย์ คีย์ หรือ อินเด็กซ์ (Index) คือ ค่าที่ใช้ระบุตำแหน่งสมาชิกในอาร์เรย์ (เป็น integer เท่านั้น)
3
1. การประกาศข้อมูลชนิดอาร์เรย์
มีรูปแบบดังนี้ Array_Type Array_name[amount of element]; โดยที่ Array_Type คือ ชนิดข้อมูล (data type) ในอาร์เรย์ เช่น int, char, float, double Array_name คือ ชื่อของตัวแปรอาร์เรย์ [amount of element] คือ จำนวนสมาชิกของอาร์เรย์
4
1.1 การประกาศและกำหนดค่าข้อมูลชนิดอาร์เรย์ (ในแต่ละอินเด็กซ์)
ตัวอย่าง : int score[10]; //ประกาศตัวแปรชื่อ score เพื่อเก็บข้อมูลคะแนน //นักศึกษา จำนวน 10 ข้อมูล โดยทั้ง 10 ข้อมูลมี //ชนิดเป็นจำนวนเต็ม score[0] = 20; //กำหนดค่าให้อาร์เรย์อินเด็กซ์ที่ 0 มีค่า 20 score[1] = 25; //กำหนดค่าให้อาร์เรย์อินเด็กซ์ที่ 1 มีค่า 25 score[2] = 15; //กำหนดค่าให้อาร์เรย์อินเด็กซ์ที่ 2 มีค่า 15 … score[9] = 26; //กำหนดค่าให้อาร์เรย์อินเด็กซ์ที่ 9 มีค่า 26
5
1.2 การประกาศและกำหนดค่าข้อมูลชนิดอาร์เรย์ (ทุกอินเด็กซ์พร้อมกัน)
การกำหนดค่าของอาร์เรย์ทั้งหมด โดยระบุจำนวนสมาชิก หรือไม่ระบุก็ได้ หรือ กำหนดสมาชิกไม่ครบก็ได้ ดังนี้ int score[10] = { 20,25,30,26,24,18,17,25,24,22}; int score[ ] = { 20,25,30,26,24,18,17,25,24,22}; int score[10] = {20,25,30}
6
1.3 การประกาศและกำหนดค่าข้อมูลชนิดอาร์เรย์ (กำหนดค่าจากตัวแปร)
การกำหนดค่าให้อาร์เรย์จากตัวแปร เช่น int score[10]; int x = 20, y = 26; score[0] = x; score[9] = y;
7
2. การอ้างถึงสมาชิกและข้อมูลในอาร์เรย์
การอ้างถึงแต่ละสมาชิกของอาร์เรย์ เพื่อเข้าไปใช้งานค่า ทำได้โดยการเขียนชื่อของ อาร์เรย์และใส่อินเด็กซ์ของสมาชิกไว้ใน [ ] โดยอินเด็กซ์เริ่มตั้ง 0 ถึง n-1 (n คือ จำนวนสมาชิกของอาร์เรย์ทั้งหมด) เช่น cout << score[9] + score[8] ; score[4] = score[3]+ score[2]; cout << score[4]; ถ้าอ้างถึงสมาชิกอาร์เรย์เกินขอบเขตจะเกิดอะไรขึ้น? เช่น score[10]
8
3. การรับข้อมูลทางคีย์บอร์ดเก็บไว้ในอาร์เรย์
สามารถใช้คำสั่งวนลูปเพื่อรับค่าคงที่เข้าไปเก็บไว้ในอาร์เรย์แต่ละสมาชิกโดยใช้ลูป for, while , do เช่น จงเขียนคำสั่งในการรับค่าเลขจำนวนเต็ม 10 จำนวนจากผู้ใช้แล้วเก็บไว้ในอาร์เรย์ int score[10]; for (int i=0 ; i<=9; i++) { cin >> score[i]; }
9
3. การรับข้อมูลทางคีย์บอร์ดเก็บไว้ในอาร์เรย์ (ต่อ)
จงเขียนคำสั่งในการรับค่าเลขจำนวนเต็ม 10 จำนวนจากผู้ใช้แล้วเก็บไว้ในอาร์เรย์ แล้วหาผลรวมของค่าทุกค่าที่ผู้ใช้กรอกเข้ามา แล้วแสดงผลลัพธ์ออกหน้าจอ int score[10]; int total=0; for (int i=0 ; i<=9; i++) { cin >> score[i]; total = total + i; } cout << “ผลลัพธ์คือ ” << total;
10
4. การแสดงผลข้อมูลอาร์เรย์
สามารถแสดงผลข้อมูลในอาร์เรย์แต่ละสมาชิกได้ โดยการอ้างชื่อและอินเด็กซ์ สามารถใช้ลูป for , while ,do เพื่อแสดงผลข้อมูลในอาร์เรย์ทั้งหมดได้ เช่น for(i=0;i<=9;i++) { cout << score[i] << endl; }
11
5. ตัวอย่าง
12
6. ตัวอย่าง #include <iostream> using namespace std; int main() { int age[5] = {20,4,7,9,100}; int min = age[0]; for (int i=0 ; i<5; i++) { cout << age[i] <<endl; if (age[i] < min) { min = age[i]; } cout << "Min age = "<< min <<endl; system("pause"); return 0;
13
7. การจองพื้นที่ในหน่วยความจำ
การจองพื้นที่หน่วยความจำ ของอาร์เรย์จะจองพื้นที่ในหน่วยความจำต่อเนื่องกันไป ตั้งแต่สมาชิกเริ่มต้นตัวที่ 0 จนถึงตัวสุดท้าย ถ้าคะแนนที่เก็บเป็นข้อมูลชนิด int จะจองพื้นที่หน่วยความจำทั้งหมดเท่าไร่? ต้องคิดว่าคะแนน 1 ข้อมูล ใช้กี่ไบต์ แล้วคิดว่าถ้าคะแนนข้อมูลทั้งหมด จะใช้กี่ไบต์ สมมติว่า address เริ่มต้น score[0] คือ 0x5002 แล้ว address ของ score[9] อยู่ตำแหน่งใด
14
แบบฝึกหัด 1.1 สร้างตัวแปรอาร์เรย์ขึ้นมาเพื่อเก็บค่าเกรดเฉลี่ยของนักศึกษาจำนวน 5 คน โดยวนลูป ให้ผู้ใช้กรอกข้อมูลเกรดเฉลี่ยผ่านทางคีย์บอร์ด แล้ววนลูปแสดงข้อมูลเกรดเฉลี่ยผ่าน ทางหน้าจอ
15
แบบฝึกหัด 1.2 ต่อมาให้ตรวจสอบว่าเกรดเฉลี่ยที่มากที่สุดคือ เกรดเฉลี่ยใด
16
แบบฝึกหัด 1.3 เพิ่มเติมข้อมูลว่านักศึกษาคนไหนที่ได้เกรดเฉลี่ยมากที่สุด
17
แบบฝึกหัด 1.4 เขียนโปรแกรมเพื่อเก็บข้อมูลคะแนนสอบของนักศึกษา โดยกำหนดให้รับข้อมูล จำนวนนักศึกษาว่ามีกี่คน แล้ววนลูปรับข้อมูลคะแนนของนักศึกษาแต่ละคนผ่านทาง คีย์บอร์ด พร้อมแสดงข้อมูลผลรวมคะแนนสอบทั้งหมด และแสดงค่าเฉลี่ยคะแนน สอบที่ได้
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.