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

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

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

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


งานนำเสนอเรื่อง: "Arrays. / array หรือแถวลำดับ คือโครงสร้างข้อมูลที่ สามารถเก็บข้อมูลชนิดเดียวกัน เป็นกลุ่มหรือ ชุดที่เรียงต่อกันเป็นแถว / array จะมีโครงสร้างเป็นแบบเชิงเส้น."— ใบสำเนางานนำเสนอ:

1 Arrays

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

3 6570 score score[0] score[1] score[2] score[3] score[4]

4 การระบุตำแหน่งหรือค่าใน array จะใช้ ตัวเลข index / score[0] คือ คะแนนสอบของนักเรียน คนที่ 1 / score[23] คือ คะแนนสอบของนักเรียน คนที่ 24 จะเห็นว่า ตัวแปร array ง่ายต่อการอ้างอิงเพื่อ ใช้งาน ซึ่งถ้าไม่ใช้ array จะต้องประกาศตัว แปรถึง 24 ตัว เช่น score1, score2, …, score24 / score[0] คือ คะแนนสอบของนักเรียน คนที่ 1 / score[23] คือ คะแนนสอบของนักเรียน คนที่ 24 จะเห็นว่า ตัวแปร array ง่ายต่อการอ้างอิงเพื่อ ใช้งาน ซึ่งถ้าไม่ใช้ array จะต้องประกาศตัว แปรถึง 24 ตัว เช่น score1, score2, …, score24

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

6 int score[5]; score[0] = 13; //set first element random values เพราะยังไม่มีการ กำหนดค่าให้ score score[0] score[1] score[2] score[3] score[4] ใน memory score[4] = 42; //set last element 13 42

7 {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]); } {int score[5]; } {int score[5]; } int i; for(i=0;i<5;i++) scanf(“%d”,&score[i]); for(i=0;i<5;i++) printf(“%d”,score[i]);

8 array - initialize / int a[5] = { 1, 2, 3, 4, 5}; / int a[] = {1, 2, 3, 4, 5}; / int a[7] = {1, 2, 3, 4, 5}; / int *a = {1, 2, 3, 4, 5} printf(“%d”, a[3]);

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

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

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

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

13 C Strings / ในภาษาซีใช้ array of character ในการ เก็บสายอักขระ (string) / เพิ่ม null character ‘\0’ ต่อท้ายอักขระ ตัวท้าย เป็นการบอกจุดสิ้นสุดสตริง / ในภาษาซีใช้ array of character ในการ เก็บสายอักขระ (string) / เพิ่ม null character ‘\0’ ต่อท้ายอักขระ ตัวท้าย เป็นการบอกจุดสิ้นสุดสตริง

14 เช่น char code[6]; [0][1][2][3][4][5] cod e 1 byt e

15 เช่น char name[6]=“FOKKY”; [0][1][2][3][4][5] na me ‘F’‘O’‘K’ ‘Y’‘\0’ 1 byt e

16 เช่น char str[6]=“JAN”; [0][1][2][3][4][5] str ‘J’‘A’‘N’‘\0’ 1 byt e

17 คำสั่งรับค่า - แสดงผลสตริง คำสั่งรับค่าตัวอย่าง scanf( “ %s ”, ชื่อตัวแปร สตริง ); scanf( “ %s ”,name); // สังเกตว่าไม่ต้องใส่ & หน้าตัวแปร name gets( ชื่อตัวแปร ); gets(name); คำสั่งแสดงผลตัวอย่าง printf( “ %s ”, ชื่อตัวแปร สตริง ); printf( “ %s ”,name); puts( ชื่อตัวแปร ); puts(name);

18 C Strings / ในภาษาซีมี standard library function เกี่ยวกับสตริงให้ใช้งาน / ที่ใช้งานบ่อยๆ ได้แก่ strlen( ชื่อตัวแปรสตริง ) strcpy( ชื่อตัวแปรสตริงปลายทาง, ชื่อตัวแปร สตริงต้นทาง ) / ในภาษาซีมี standard library function เกี่ยวกับสตริงให้ใช้งาน / ที่ใช้งานบ่อยๆ ได้แก่ strlen( ชื่อตัวแปรสตริง ) strcpy( ชื่อตัวแปรสตริงปลายทาง, ชื่อตัวแปร สตริงต้นทาง )

19 ตัวอย่าง char s[10]; strcpy(s, “MWIT”); char s[10]; strcpy(s, “MWIT”); MWIT\0 s memory

20 Note!! / assignment operator หรือ เครื่องหมาย เท่ากับ (=) ไม่สามารถใช้กำหนดค่าให้กับตัว แปรสตริงได้ ต้องใช้ฟังก์ชัน strcpy() เท่านั้น strcpy(s, “MWIT”); S = “MWIT” ;  / assignment operator หรือ เครื่องหมาย เท่ากับ (=) ไม่สามารถใช้กำหนดค่าให้กับตัว แปรสตริงได้ ต้องใช้ฟังก์ชัน strcpy() เท่านั้น strcpy(s, “MWIT”); S = “MWIT” ; 

21 Question / จะเกิดอะไรขึ้น ถ้าเราเก็บข้อความ “Mahidol Wittayanusorn” ลงในตัวแปร char s[10]; / จะเกิดอะไรขึ้น ถ้าเราเก็บข้อความ “Mahidol Wittayanusorn” ลงในตัวแปร char s[10]; / ข้อความจะถูกเก็บไว้ในตัวแปร s และจะ บันทึกตัวอักษรที่เกินไปด้วย ซึ่งอาจไปบันทึก ทับข้อมูลที่ถูกเก็บไว้ถัดจากตัวแปร s

22 ตัวอย่าง char s[10]; int len; strcpy(s, “MWIT”); len = strlen(s); printf(“%d”, len); char s[10]; int len; strcpy(s, “MWIT”); len = strlen(s); printf(“%d”, len); ผลลัพธ์ 4

23 string.h / strcpy(dest_string, source_string); / int a = strlen(string); / strcat(dest_string, source_string); / int a = strcmp(string1, string2); / string1 == string2 if a == 0 / string1 < string2 if a is negative (-) / string1 > string2 if a is positive (+) / strcpy(dest_string, source_string); / int a = strlen(string); / strcat(dest_string, source_string); / int a = strcmp(string1, string2); / string1 == string2 if a == 0 / string1 < string2 if a is negative (-) / string1 > string2 if a is positive (+)

24 โจทย์ 4 / ตรวจสอบ string ที่ผู้ใช้ป้อนเข้ามาว่าเป็น palindrome หรือไม่ เช่น level success  deed maimai  / ตรวจสอบ string ที่ผู้ใช้ป้อนเข้ามาว่าเป็น palindrome หรือไม่ เช่น level success  deed maimai 

25 Multidimensional Arrays / ตัวอย่างการประกาศ array 2 มิติ ขนาด 10 x 10 โดยเก็บเลขจำนวนเต็ม กำหนดค่าแรก และค่าสุดท้ายเป็น 13 int board[10][10]; board[0][0] = 13; board[9][9] = 13; / ตัวอย่างการประกาศ array 2 มิติ ขนาด 10 x 10 โดยเก็บเลขจำนวนเต็ม กำหนดค่าแรก และค่าสุดท้ายเป็น 13 int board[10][10]; board[0][0] = 13; board[9][9] = 13;

26 ถ้ากำหนด int b[4][3]; Rows Columns … Memory b[0][0] b[0][1] b[0][2] b[1][0] b[1][1] b[1][2] b[2][0] b[2][1] b[2][2] b[3][0] b[3][1] b[3][2] Row 0 Row 1 Row 2 Row 3

27 ถ้ากำหนด int b[2][4][3]; Rows Columns … Memory b[0][0] b[0][1] b[0][2] b[1][0] b[1][1] b[1][2] b[2][0] b[2][1] b[2][2] b[3][0] b[3][1] b[3][2] Row 0 Row 1 Row 2 Row Page 0 Page 1

28 array - initialize / int a[2][3] = { 1, 2, 3, 4, 5, 6}; / int a[2][3] = { { 1, 2, 3 }, {4, 5, 6 } }; / int a[2][3] = { { 1, 2 }, {3, 4, 5 } }; / int a[5][5] = { { 1, 2, 3 }, {4, 5, 6 } };

29 array - initialize / int a[][] = { { 1, 2, 3 }, {4, 5, 6 } }; / int a[][3] = { { 1, 2, 3 }, {4, 5, 6 } }; / int a[2][] = { { 1, 2, 3 }, {4, 5, 6 } };

30 โจทย์ 5 / เขียนโปรแกรมคำนวณหาผลบวก ลบ และ ผลคูณเมตริกซ์ขนาด 3 x 3 / A + B / A – B / A x B / เขียนโปรแกรมคำนวณหาผลบวก ลบ และ ผลคูณเมตริกซ์ขนาด 3 x 3 / A + B / A – B / A x B


ดาวน์โหลด ppt Arrays. / array หรือแถวลำดับ คือโครงสร้างข้อมูลที่ สามารถเก็บข้อมูลชนิดเดียวกัน เป็นกลุ่มหรือ ชุดที่เรียงต่อกันเป็นแถว / array จะมีโครงสร้างเป็นแบบเชิงเส้น.

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


Ads by Google