งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Arrays.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Arrays."— ใบสำเนางานนำเสนอ:

1 Arrays

2 Arrays array หรือแถวลำดับ คือโครงสร้างข้อมูลที่สามารถเก็บข้อมูลชนิดเดียวกัน เป็นกลุ่มหรือชุดที่เรียงต่อกันเป็นแถว array จะมีโครงสร้างเป็นแบบเชิงเส้น(Linear) ดังนั้น เราสามารถระบุค่าถัดไปหรือก่อนหน้าของแต่ละค่าใน array ได้

3 ชนิดข้อมูล ชื่อตัวแปร[ขนาดของarray];
การประกาศตัวแปร ชนิดข้อมูล ชื่อตัวแปร[ขนาดของarray]; เช่น int a[20]; char c[15]; float score[24];

4 หมายถึง ตัวแปรชุด score สามารถเก็บข้อมูลจำนวนเต็มได้ 5 ค่า นั่นเอง
score[0] score[1] score[2] score[3] score[4] int score[5]; วิธีการประกาศตัวแปรชุด ตัวแปรชุด score จากตัวอย่าง เป็นการประกาศตัวแปรชุดชนิด integer ชื่อ score ซึ่งมีขนาดเท่ากับ 5 หมายถึง ตัวแปรชุด score สามารถเก็บข้อมูลจำนวนเต็มได้ 5 ค่า นั่นเอง

5 การระบุตำแหน่งหรือค่าใน array จะใช้ตัวเลข index
score[0] คือ คะแนนสอบของนักเรียนคนที่ 1 จะเห็นว่า ตัวแปร array ง่ายต่อการอ้างอิงเพื่อใช้งาน ตัวเลข index ซึ่งจะเริ่มต้นที่ 0 เสมอ ซึ่งถ้าไม่ใช้ array จะต้องประกาศตัวแปรถึง 5 ตัว หรือถ้าต้องการเก็บคะแนนของนักเรียน 24 คน ก็เพียงประกาศ int score[24]; ไม่จำเป็นต้องประกาศตัวแปรถึง 24 ตัว!!!

6 int score[5]; score[0] = 13; score[4] = 42; 13 42
random values เพราะยังไม่มีการกำหนดค่าให้ 6570 -5673 18253 22541 -1068 score score[0] score[1] score[2] score[3] score[4] ใน memory 13 42

7 ตัวอย่างการอ้างถึงสมาชิกในตัวแปรชุด
#include<stdio.h> int main() { int a[5]={5}; int i = 2; printf(“a[0] = %d\n”, a[0]); printf(“a[1] = %d\n”, a[1]); a[2] = a[0]+3; a[1] = a[i]+10; a[i+1] = 20; a[4] = a[i-1]; printf(“a[2] = %d\n”, a[2]); printf(“a[3] = %d\n”, a[3]); printf(“a[4] = %d\n”, a[4]); return 0; } เพราะเหตุใด a[1] ในตอนแรกจึงเท่ากับ 0 ?? เราสามารถอ้างอิงถึงสมาชิกใน array โดยใช้ตัวแปรได้ เช่น a[i] เราสามารถอ้างอิงถึงสมาชิกใน array โดยอยู่ในรูปของ expression ได้ เช่น a[i-1], a[i+1], a[i*2]

8 ทดลองเขียนโปรแกรมรับและแสดงผลเลขจำนวนเต็ม 5 จำนวน
#include<stdio.h> int main() { int score[5]; scanf(“%d”,&score[0]); scanf(“%d”,&score[1]); scanf(“%d”,&score[2]); scanf(“%d”,&score[3]); scanf(“%d”,&score[4]); printf(“%d ”,score[0]); printf(“%d ”,score[1]); printf(“%d ”,score[2]); printf(“%d ”,score[3]); printf(“%d ”,score[4]); return 0; } รับข้อมูลเลขจำนวนเต็ม 5 จำนวน เก็บใส่ในตำแหน่งของตัวแปรชุด score แสดงข้อมูลเลขจำนวนเต็ม ที่เก็บในตัวแปรชุด score

9 สังเกตโค้ดที่เขียนซ้ำๆกัน
#include<stdio.h> int main() { int score[5]; scanf(“%d”,&score[0]); scanf(“%d”,&score[1]); scanf(“%d”,&score[2]); scanf(“%d”,&score[3]); scanf(“%d”,&score[4]); printf(“%d ”,score[0]); printf(“%d ”,score[1]); printf(“%d ”,score[2]); printf(“%d ”,score[3]); printf(“%d ”,score[4]); return 0; } จะเห็นว่าเป็นการสั่งให้รับเลขจำนวนเต็มซ้ำๆกัน 5 ครั้ง ดังนั้น ใช้ for ช่วยวนลูปได้ จะเห็นว่าเป็นการสั่งให้แสดงผลเลขจำนวนเต็มซ้ำๆกัน 5 ครั้ง ดังนั้น ใช้ for ช่วยวนลูปได้

10 เปลี่ยนไปใช้คำสั่ง for เพื่อวนลูป รับและแสดงค่า
#include<stdio.h> int main() { int score[5]; scanf(“%d”,&score[0]); scanf(“%d”,&score[1]); scanf(“%d”,&score[2]); scanf(“%d”,&score[3]); scanf(“%d”,&score[4]); printf(“%d ”,score[0]); printf(“%d ”,score[1]); printf(“%d ”,score[2]); printf(“%d ”,score[3]); printf(“%d ”,score[4]); return 0; } #include<stdio.h> int main() { int score[5]; return 0; } int i; for(i=0;i<5;i++) scanf(“%d”,&score[i]); for(i=0;i<5;i++) printf(“%d”,score[i]);

11 โปรแกรมรับและแสดงผลเลขจำนวนเต็ม 5 จำนวน
ที่ใช้คำสั่ง for ในการวนซ้ำเพื่อรับ-แสดงค่า #include<stdio.h> int main() { int score[5]; return 0; } int i; for(i=0;i<5;i++) scanf(“%d”,&score[i]); รับข้อมูลเลขจำนวนเต็ม 5 จำนวน เก็บใส่ในตำแหน่งของตัวแปรชุด score for(i=0;i<5;i++) printf(“%d”,score[i]); แสดงข้อมูลเลขจำนวนเต็ม ที่เก็บในตัวแปรชุด score

12 การประกาศตัวแปรและกำหนดค่าเริ่มต้นในคราวเดียว
int a[5] = { 1, 2, 3, 4, 5}; a 5 4 3 2 1 a[0] a[1] a[2] a[3] a[4]

13 การประกาศตัวแปรและกำหนดค่าเริ่มต้นในคราวเดียว
int a[5] = { 1, 2, 3, 4, 5}; int a[] = {1, 2, 3, 4, 5}; int *a = {1, 2, 3, 4, 5} เหมือนกัน

14 การประกาศตัวแปรและกำหนดค่าเริ่มต้นในคราวเดียว
int a[7] = { 1, 2, 3, 4, 5}; a 5 3 2 1 4 a[0] a[1] a[2] a[3] a[4] a[5] a[6] สังเกตว่า a[5] และ a[6] จะเป็น 0 เพราะกำหนดค่าเริ่มต้นเพียง 5 ค่าเท่านั้น

15 printf(“%d”, a[3]); จะได้ผลลัพธ์อย่างไร
array - initialize int a[5] = { 1, 2, 3}; printf(“%d”, a[3]); จะได้ผลลัพธ์อย่างไร

16 โจทย์ 1 รับเลขจำนวนเต็ม เก็บใส่ในตัวแปรชุด A และ B ซึ่งมีขนาดเท่ากับ 5 แล้วหาผลบวกของข้อมูลในตำแหน่งที่ตรงกันของตัวแปร A และ B แล้วแสดงผล A : B : A+B :

17 โจทย์ 2 รับเลขจำนวนเต็ม 5 เก็บใส่ตัวแปรชุด แล้วหาค่าเฉลี่ยของตัวเลขทั้ง 5 ตัวนี้ เช่น input : average : 5.00

18 โจทย์ 3 รับเลขจำนวนเต็ม 5 ตัวแล้วหาผลรวมของตัวเลขที่มีค่ามากกว่าค่าเฉลี่ยของตัวเลขทั้ง 5 ตัวนี้ เช่น input : average : 5.00 output : 16

19 โจทย์ 4 รับเลขจำนวนเต็ม 5 ตัว เก็บไว้ในเซต A และอีก 5 ตัวเก็บไว้ในเซต B แล้วหา A union B A intersect B A – B B - A


ดาวน์โหลด ppt Arrays.

งานนำเสนอที่คล้ายกัน


Ads by Google