Array1
-
Upload
- -
Category
Technology
-
view
1.906 -
download
3
Transcript of Array1
Array: ความรู้เบือ้งต้น( ภาค 1) Somjit Chaisriya
Array คอือะไร Array เป็นข้อมูลประเภท structure มีคณุสมบตัิ
เปน็ชดุของข้อมูลประเภทเดียวกัน มีจำานวนสมาชกิแน่นอน มี index ซึ่งเป็นตัวเลขตั้งแต่ 0 ถึง n-1 ไว้สำาหรับอ้างอิงสมาชิกแต่ละตัว
ตัวอย ่างโครงสร ้าง Array 1 มิต ิ มีสมาชิก 8 ตัว
อินเด็กซ์
0 1 2 3 4 5 6 7
ตัวอย ่างโครงสร ้าง Array 2 มิต ิ มีสมาชิก 16 ตัว
อนิเด็กซ์
0 1 2 3 4 5 6 7
0
1
มติทิ ี่ 1
มติ ิท ี่ 2
ตัวอย ่างโครงสร ้าง Array 3 มิต ิ มีสมาชิก 16 ตัว
อนิเด็กซ์
0 1 2 3
0 1 0 1 0 1 0 1
0
1
มติ ิท ี่ 3
มติทิ ี่ 1
มติทิ ี่ 2
แบบฝกึห ัด 1 : ให้นกัศ ึกษาวาดภาพArray ตามเง ือ่นไขต่อไปนี้
- Array 1 มิติ มี สมาชิก 5 ตัว
- Array 2 มิติ มี สมาชิก 10 ตัว
- Array 2 มิติ มี สมาชิก 15 ตัว
- Array 3 มิติ มี สมาชิก 18 ตัว
- Array 3 มิติ มี สมาชิก 24 ตัว
เฉลยแบบฝึกหัด 1: Array 1 มติ ิ มีสมาชิก 5 ตัว
อินเด็กซ์ 0 1 2 3 4
เฉลยแบบฝึกหัด 1: Array 2 มติ ิ มีสมาชิก 10 ตัว
อนิเด็กซ์ 0 1 2 3 4
0
1
มติ ิท ี่ 1
มติ ิท ี่ 2
เฉลยแบบฝึกหัด 1: Array 2 มติ ิ มีสมาชิก 15 ตัว
Concept
Text
Text
Text
อนิเด็กซ์ 0 1 2 3 4
0
1
2
มติ ิท ี่ 1
มติ ิท ี่ 2
เฉลยแบบฝึกหัด 1: Array 3 มติ ิ มีสมาชิก 18 ตัว
อินเด็กซ์
0 1 2
0 1 2 0 1 2 0 1 2
0
1
มติ ิท ี่ 1
มติ ิท ี่ 2
มติ ิท ี่ 3
เฉลยแบบฝึกหัด 1: Array 3 มติ ิ มีสมาชิก 24 ตัว
อินเด็กซ์
0 1
0 1 2 3 0 1 2 3
0
1
2
ตัวอย ่าง1: การเล ือกใช้ Array ในการจ ัดเก ็บข ้อม ูล
- ต้องการเก ็บข ้อม ูลรห ัสน ักศ ึกษา ผู้ท ี่ลงเร ียน ว ิชาการโปรแกรมคอมพิวเตอร ์ 1 จำานวน 5 คน
- จะเห ็นว ่า ข ้อม ูลท ี่ต ้องเก ็บม ีอย ่างเด ียวค ือ รหัสนักศ ึกษา ด ังน ั้นเราจ ึงใช้ Array 1 มิต ิ จ ัด
เก ็บ
อนิเด็กซ์ 0 1 2 3 4
รหัสนักศึกษา
S01 S02 S03 S04 S05
ตัวอย ่าง2: การเล ือกใช้ Array ในการจ ัดเก ็บข ้อม ูล
- ต้องการเก ็บข ้อม ูลรห ัสน ักศ ึกษา , ชื่อ , นามสกุล ผ ู้ท ี่ลงเร ียนว ิชาการโปรแกรม
คอมพิวเตอร ์ 1 จำานวน 5 คน- จะเห ็นว ่า ข ้อม ูลท ี่ต ้องเก ็บม ี 3 ข้อม ูล ค ือรห ัสน ักศ ึกษา ชื่อ และนามสกุล ด ังน ั้นเราจ ึง
ใช้ Array 2 มิต ิ จ ัดเก ็บอินเด็กซ์ 0 1 2 3 4
0 (รหัส) S01 S02 S03 S04 S05
1 (ช่ือ) นวล อาโออิ แมว โทน่ี โทนำ้า2 (นามสกุล)
จันทร์ฉาย
กิมารุ บ้านไร่
แบร์ ครัม
ตัวอย ่าง3: การเล ือกใช้ Array ในการจ ัดเก ็บข ้อม ูล
- ต้องการเก ็บข ้อม ูลรห ัสน ักศ ึกษา , ชื่อ , นามสกุล ผ ู้ท ี่ลงเร ียนว ิชาการโปรแกรม
คอมพิวเตอร ์ 1 จำานวน 5 คน- จะเห ็นว ่า ข ้อม ูลท ี่ต ้องเก ็บม ี 3 ข้อม ูล ค ือรห ัสน ักศ ึกษา ชื่อ และนามสกุล ด ังน ั้นเรา
จึงใช้ Array 2 มิต ิ จ ัดเก ็บอนิเด็กซ์ 0 1 2 3 4
0 (รหัส) S01 S02 S03 S04 S05
1 (ช่ือ) นวล อาโออิ
แมว โทน่ี โทนำ้า
2 (นามสกุล)
จันทร์
ฉาย
กิมารุ บ้านไร่
แบร์ ครัม
ตัวอย ่าง4: การเล ือกใช้ Array ในการจ ัดเก ็บข ้อม ูล
- ต้องการเกบ็ข ้อมลูรหสันกัศ ึกษา , ชือ่ , นามสกลุ , ของผู้ท ีล่งเร ียนวชิาการ
โปรแกรมคอมพวิเตอร ์ 1 จำานวน 5 คน ของภาคการศกึษาที่ 1 และภาคการ
ศึกษาที่ 2- จะเหน็ว ่า โจทย์บ ังค ับใหเ้กบ็ภาคการ
ศึกษาดว้ย โดยแต่ละภาคการศึกษาจะต้องเกบ็รหสันกัศกึษา ชื่อ นามสกุล ด ัง
นัน้เราจงึใช้ Array 3 มติ ิจ ัดเก ็บ
ตัวอย ่าง4: การเล ือกใช้ Array ในการจ ัดเก ็บข ้อม ูล
0 (เทอม1) 1 (เทอม2)0 (รหสั) 1
(ชื่อ)2
(นามสกุล)
0 (รหัส)
1 (ชื่อ)
2 (นามสกุล)
0 S01 นวล จันทร์ฉาย
S06 เอียง เอ็มทีเอ
1 S02 อาโออิ กิมารุ S07 อบต ขำา ขำา2 S03 แมว บ้านไร่ S08 กะ
น้อยขาวดี
3 S04 โทน่ี แบร์ S09 บะหม่ี ไวไว4 S05 โทนำ้า ครัม S10 เทียน บ้านจัง
แบบฝึกหัด 2: ให้น ักศ ึกษาเล ือก ใช้ Array และวาดภาพ Array
ตามเง ือ่นไขต่อไปนี้
- ต้องการเกบ็ข ้อมลู รายชื่อแฟน ทีม่ ี มาแล้วจ ำานวน 3 คน
ต้องการเกบ็ข ้อมลู รายชื่อแฟน เบอร ์ โทร และระดบัความหนา้ตา ทีม่มีาแล ้ว
จำานวน 3 คน- ต้องการเกบ็ข ้อมลู รายชื่อแฟน
เบอร ์โทร ตามระดบัหนา้ตา ทีม่มีาแล ้ว จำานวน 3 คน ทัง้น ีก้ ำาหนดใหร้ะดบั
หนา้ตาม ี 2 ระดับค ือ - ระดบัสมบูรณ์แบบ - ระดบักโ็ออะน่ะ
เฉลยแบบฝึกหัด 2
ต้องการเก ็บข ้อม ูล รายชื่อแฟน ที่ม ีมาแล ้ว จำานวน 3 คน
อนิเด็กซ์ 0 1 2
ช่ือแฟน น้องไก่ น้องมด น้องโฟร์
เฉลยแบบฝึกหัด 2
ต้องการเก ็บข ้อม ูล รายชื่อแฟน เบอร ์โทร และระด ับความหน้าตา ที่ม ีมาแล ้วจ ำานวน 3 คน
อนิเด็กซ์ 0 1 2
0 (ช่ือแฟน) น้องไก่ น้องมด น้องโฟร์1 (เบอร์โทร)
081 082 083
2 (ระดับหน้าตา)
สมบูรณ์แบบ สมบูรณแ์บบ ก็โออ่ะนะ
เฉลยแบบฝึกหัด 2 ต้องการเก ็บข ้อม ูล รายชื่อแฟน เบอร ์โทร ตาม
ระด ับหน้าตา ที่ม ีมาแล ้วจ ำานวน 3 คน ทั้งน ี้ก ำาหนดให้ระด ับหน้าตาม ี 2 ระด ับค ือ ระด ับ
สมบูรณแ์บบ และระด ับก ็โออะน่ะ0 (ระดับสมบูรณแ์บบ) 1 (ระดับโออะน่ะ)
0 (ช่ือแฟน) 1 (เบอร์โทร)
0 (ช่ือแฟน)
1 (เบอร์โทร)
0 น้องไก่ 081 น้องโฟร์ 083
1 น้องมด 082
2 หมายเหตุ จะเห ็นว ่าการจ ัดเก ็บแบบนี้จะจ ัดเก ็บข ้อม ูลได ้ท ั้งหมด 6 คน โดยแบ่งเป ็น
ระด ับสมบ ูรณ์แบบมากสุดได ้ 3 คน และระด ับก ็โออ ่ะนะ ได ้มากส ุด 3 คน
การเข ียนค ำาส ัง่ภาษา C++ เพ ื่อสร ้างArray
โครงสร ้างค ำาส ั่ง ชนดิข้อมลู ช ื่ออาร ์เรย ์ [จำานวนสมาชกิมติ ิท ี่ 1]
[จำานวนสมาชกิมติ ิท ี่ 2]… [จำานวนสมาชิกมติ ิท ี่ n];
ตัวอย ่างการเข ียนคำาส ัง่สร ้างArray 1 มติ ิ ม ีสมาชิก 5 ตัว
อนิเด็กซ์ 0 1 2 3 4
เข ียนคำาส ั่งได ้ว ่าfloat num[5];
ตัวอย ่างโครงสร ้าง Array 2 มิต ิ มีสมาชิก 10 ตัว
อินเด็กซ์ 0 1 2 3 4
0
1
เขียนคำาสั่งได้ว่าfloat wide_high [5][2];
ตัวอย ่างโครงสร ้าง Array 2 มิต ิ มีสมาชิก 15 ตัว
อนิเด็กซ์ 0 1 2 3 4
0
1
2
เขยีนคำาส ั่งได ้ว ่าfloat wide_high [5][3];
ตัวอย ่างโครงสร ้าง Array 3 มิต ิ มีสมาชิก 18 ตัว
อนิเด็กซ์
0 1 2
0 1 2 0 1 2 0 1 2
0
1
เขยีนคำาส ั่งได ้ว ่าint Data1[3][3][2];
ตัวอย ่างโครงสร ้าง Array 3 มิต ิ มีสมาชิก 24 ตัว
อนิเด็กซ์ 0 1
0 1 2 3 0 1 2 3
0
1
2
เขยีนคำาส ั่งได ้ว ่าstring Data2[2][4][3];
แบบฝึกหัด 3: ฝึกเขยีนคำาส ัง่ สร ้าง Array
จากแบบฝึกหดัท ี่ 2 ใหน้กัศกึษาเข ียนคำาส ัง่ เพ ือ่ สร ้าง Array โดยใชภ้าษา C++
เฉลยแบบฝึกหัด 3
ต้องการเก ็บข ้อมลู รายชื่อแฟน ทีม่มีาแล ้ว จำานวน 3 คน
อนิเด็กซ์ 0 1 2
ช่ือแฟน น้องไก่ น้องมด น้องโฟร์
เขยีนคำาส ั่งเพ ื่อสร ้าง Array ไดว้ ่าstring Fan[3];
เฉลยแบบฝึกหัด 3
ต้องการเก ็บข ้อมลู รายชื่อแฟน เบอร ์โทร และ ระดบัความหนา้ตา ทีม่มีาแล ้วจ ำานวน 3 คน
อนิเด็กซ์ 0 1 2
0 (ช่ือแฟน) น้องไก่ น้องมด น้องโฟร์1 (เบอร์โทร) 081 082 083
2 (ระดับหน้าตา)
สมบูรณแ์บบ สมบูรณแ์บบ ก็โออะ่นะ
เขยีนคำาส ั่งเพ ื่อสร ้าง Array ไดว้ ่าstring Fan[3][3];
www.themegallery.com
LOGO
เฉลยแบบฝึกหัด 3 ต้องการเก ็บข ้อมลู รายชือ่แฟน เบอร ์โทร ตามระดบัหน้าตา
ที่มมีาแล ้วจ ำานวน 3 คน ทั้งน ี้ก ำาหนดให้ระดบัหน้าตาม ี 2 ระดบัค ือ ระดบัสมบูรณแ์บบ และระดบัก ็โออะน่ะ
0 (ระดับสมบูรณ์แบบ) 1 (ระดับโออะน่ะ)0 (ช่ือแฟน) 1 (เบอร์
โทร)0 (ช่ือแฟน)
1 (เบอร์โทร)
0 น้องไก่ 081 น้องโฟร์ 083
1 น้องมด 082
2 เขยีนคำาส ั่งเพ ื่อสร ้าง Array ไดว้ ่า
string Fan[2][2][3];
www.themegallery.com
LOGO
การอ ้างถ ึงอาร ์เรย ์ และสมาชิกในอาร ์เรย ์
การอ้างอ ิงอาร ์เรย ์ 1 มติ ิ string Fan[3]; เก ็บข ้อมลู รายชื่อแฟน ทีม่มีา
แล้วจ ำานวน 3 คนอินเด็กซ์
0 1 2
ช่ือแฟน น้องไก่ น้องมด น้องโฟร์
การอ้างอ ิงสมาชิกในอาร ์เรย ์ กระท ำาโดยการใช้ หมายเลขอิน เด ็กซ์ ซ ึ่งเร ิ่มจาก 0 เสมอ
Fan[0] เกบ็แฟนชื่อ น ้องไก ่ Fan[1] เกบ็แฟนชื่อ น ้องมด Fan[2] เกบ็แฟนชื่อ น ้องโฟร ์
www.themegallery.com
LOGO
การอ ้างถ ึงอาร ์เรย ์ และสมาชิก ในอาร ์เรย ์ 2 มิต ิ
string Fan[3][3]; เก ็บข ้อมลู รายชื่อแฟน เบอร ์ โทร และระดับความหนา้ตา ทีม่มีาแล ้วจ ำานวน 3
คนอนิเด็กซ์ 0 1 2
0 (ช่ือแฟน) น้องไก่ น้องมด น้องโฟร์1 (เบอร์โทร)
081 082 083
2 (ระดับหน้าตา)
สมบูรณ์แบบ
สมบูรณ์แบบ
กโ็ออ่ะนะการอ ้างอ ิงสมาชิกในอาร ์เรย ์ Fan[0][0] เก ็บแฟนชื่อ น ้องไก ่ Fan[0][1] เก ็บเบอร ์โทร081 Fan[0][2] เก ็บระด ับหน้าตา สมบูรณแ์บบ
www.themegallery.com
LOGO
การอ ้างถ ึงอาร ์เรย ์ และสมาชิก ในอาร ์เรย ์ 3 มิต ิ
string Fan[2][2][3]; เก ็บข ้อม ูล รายชื่อแฟน เบอร ์โทร ตามระด ับหน้าตา ที่ม ีมา แล้วจ ำานวน 3 คน ทั้งน ี้ก ำาหนดให้ระด ับหน้าตาม ี 2 ระด ับค ือ ระด ับสมบูรณ์แบบ
และระด ับก ็โออะน่ะ0 (ระดับสมบูรณแ์บบ) 1 (ระดับโออะน่ะ)
0 (ช่ือแฟน)
1 (เบอร์โทร)
0 (ช่ือแฟน)
1 (เบอร์โทร)
0 น้องไก่ 081 น้องโฟร์ 083
1 น้องมด 082
2การอ ้างอ ิงสมาชิกในอาร ์เรย ์ Fan[0][0][0] เก ็บแฟนชื่อ น ้องไก ่ Fan[0][1][0] เก ็บเบอรโ์ทร 081 Fan[1][0][0] เก ็บแฟนชื่อ น ้องโฟร ์ Fan[1][1][0] เก ็บแฟนชื่อ 083
www.themegallery.com
LOGO
แบบฝึกหัด 4: การอ ้างอ ิงอาร ์เรย ์
จงอ้างอ ิงสมาชิกท ัง้หมดในอาร ์เรยต์ ่อไปนี้
อินเด็กซ์ 0 1 2
0 (ช่ือแฟน) น้องไก่ น้องมด น้องโฟร์1 (เบอร์โทร)
081 082 083
2 (ระดับหน้าตา)
สมบูรณ์แบบ
สมบูรณ์แบบ
ก็โออ่ะนะ
www.themegallery.com
LOGO
แบบฝึกหัด 4: การอ ้างอ ิงอาร ์เรย ์
จงอ้างอ ิงสมาชิกท ัง้หมดในอาร ์เรยต์ ่อไปนี้
0 (ระดับสมบูรณแ์บบ) 1 (ระดับโออะน่ะ)0 (ช่ือแฟน) 1 (เบอร์
โทร)0 (ช่ือแฟน)
1 (เบอร์โทร)
0 น้องไก่ 081 น้องโฟร์ 083
1 น้องมด 082
2
www.themegallery.com
LOGO
การร ับข ้อมลูเข ้าในอาร ์เรย ์ 1 มิต ิ
float num1[3]; ต้องการเก็บขอ้มูลดังนี้
num1[0] เก็บเลข 5 เขยีนคำาส่ังเกบ็ได้ว่า num1[0] = 5; num1[1] เก็บเลข 3 เขยีนคำาส่ังเกบ็ได้ว่า num1[1] = 3; num1[2] เก็บเลข 4 เขยีนคำาส่ังเกบ็ได้ว่า num1[2] = 4;
ภาพประกอบการทำาความเขา้ใจ
อนิเด็กซ์ 0 1 2
ตัวเลข 5 3 4
www.themegallery.com
LOGO
การร ับข ้อมลูเข ้าในอาร ์เรย ์ 2 มิต ิ
float num1[2][2]; ต้องการเก ็บขอ้ม ูลด ังน ี้
num1[0][0] เก ็บเลข 5 เขยีนค ำาส ั่งเก ็บได ้ว ่า num1[0][0] = 5; num1[0][1] เก ็บเลข 3 เขยีนค ำาส ั่งเก ็บได ้ว ่า num1[0][1] = 3; num1[1][0] เก ็บเลข 4 เขยีนค ำาส ั่งเก ็บได ้ว ่า num1[1][0] = 4; num1[1][1] เก ็บเลข 6 เขยีนค ำาส ั่งเก ็บได ้ว ่า num1[1][1] = 6;
ภาพประกอบการทำาความเขา้ใจ
อินเด็กซ์ 0 1
0 5 4
1 3 6
www.themegallery.com
LOGO
การร ับข ้อมลูเข ้าในอาร ์เรย ์ 3 มิต ิ
float num1[2][2][3]; ต้องการเก ็บขอ้ม ูลด ังน ี้
num1[0][0][0] เกบ็เลข 5 เขยีนค ำาส ั่งเกบ็ได ้ว ่า num1[0][0][0] = 5; num1[0][1][0] เกบ็เลข 3 เขยีนค ำาส ั่งเกบ็ได ้ว ่า num1[0][1][0] = 3; num1[1][0][0] เกบ็เลข 4 เขยีนค ำาส ั่งเกบ็ได ้ว ่า num1[1][0][0] = 4; num1[1][1][0] เกบ็เลข 6 เขยีนค ำาส ั่งเกบ็ได ้ว ่า num1[1][1][0] = 6;
ภาพประกอบการทำาความเขา้ใจ
อนิเด็กซ์ 0 1
0 1 0 1
0 5 3 4 6
1
2
www.themegallery.com
LOGO
การบ้าน : ข้อท ี่ 1
ให้น ักศ ึกษา เข ียนคำาส ั่งอ ้างอ ิงข ้อม ูลสมาชิกท ั้งหมดในArray ต่อไปนี้
int value1[2][2][3]; มีรายละเอ ียดด ังภาพอนิเด็กซ์ 0 1
0 1 0 1
0 5 3 4 6
1 2 5 7 9
2 9 3 2 1
www.themegallery.com
LOGO
การบ้าน : ข้อท ี่ 2 ให้น ักศ ึกษา เขียนภาพประกอบ มีการกำาหนดค่าให้ก ับอาร ์เรย ์ด ังค ำาส ั่งต ่อไปนี้value[0][0][0] = 2;
value[0][1][0] = 3;
value[1][0][0] = 4;
value[1][1][0] = 5;
value[2][0][0] = 1;
value[2][1][0] = 4;
value[0][0][1] = 7;
value[0][1][1] = 9;
value[2][0][1] = 4;
value[2][1][1] = 8;