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

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

อาร์เรย์ (Array) อาจารย์สมเกียรติ ช่อเหมือน

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


งานนำเสนอเรื่อง: "อาร์เรย์ (Array) อาจารย์สมเกียรติ ช่อเหมือน"— ใบสำเนางานนำเสนอ:

1 อาร์เรย์ (Array) อาจารย์สมเกียรติ ช่อเหมือน
สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี

2 เนื้อหาที่สนใจ อาร์เรย์ การประกาศใช้งานอาร์เรย์ (Declaring Arrays)
อาร์เรย์หลายมิติ (Multi-dimensional arrays) อาร์เรย์ 2 มิติ (Two-dimensional Arrays) การส่งค่าอาร์เรย์ไปยังฟังก์ชัน การรับค่าพารามิเตอร์ของฟังก์ชันด้วยตัวชี้ กำหนดขนาดอาร์เรย์ของพารามิเตอร์ในฟังก์ชัน การคืนค่าอาร์เรย์จากฟังก์ชัน การใช้ตัวชี้กับอาร์เรย์ (Pointer to an array) ตัวอย่างการเขียนโปรแกรมโดยใช้อาร์เรย์

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

4 การประกาศใช้งานอาร์เรย์ (Declaring Arrays)
กำหนดชนิดของตัวแปรเหมือนปกติ กำหนดขนาดของอาร์เรย์ x[5] Index เริ่มที่ 0 #include <stdio.h> #include <conio.h> void main(){ int x[5] = {1, 2, 3, 4, 9}; for(int i=0;i<=4;i++){ printf("integer:[%d]\n",x[i]); } getch();

5 อาร์เรย์หลายมิติ (Multi-dimensional arrays)
อาร์เรย์หลายมิติ x[ ] x[ ][ ] x[ ][ ][ ] เมทริก ขนาด 2x3 = x[2][3] หมายถึง 2 แถว 3 คอลัมน์ #include <stdio.h> #include <conio.h> void main(){ int x[2][3] = {{1, 2,5},{3,4,9}};//2x3 //ใช้การวนซ้ำเข้ามาช่วยในการแสดงผล for(int i=0;i<=1;i++){ printf("integer[%d,0]:[%d]\n",i,x[i][0]);//ทุกแถว คอลัมภ์แรก } //เข้าถึงโดยระบุ index printf("integer[%d,1]:[%d]\n",0,x[0][1]);//แถวแรก คอลัมภ์ที่ 2 printf("integer[%d,1]:[%d]\n",0,x[1][1]);//แถวที่ 2 คอลัมภ์ที่ 2 getch();

6 อาร์เรย์ 2 มิติ (Two-dimensional Arrays)
การใช้อาร์เรย์ในการจัดเก็บและแสดงผลตัวอักษรขนาด 2x10 ผ่านตัวแปร name[2][10] - 2 ชื่อๆ ละ 10 ตัวอักษร #include <stdio.h> #include <conio.h> #include <string.h> void main(){ char name[2][10];//ข้อความ 2 ข้อความ strcpy( name[0],"somkiat"); strcpy(name[1],"supavinee"); for(int i=0;i<=1;i++){ printf("string name[%d]: %s\n",i,name[i]); //แสดงทุกชื่อในอาร์เรย์ } getch();

7 การส่งค่าอาร์เรย์ไปยังฟังก์ชัน
#include <stdio.h> #include <conio.h> #include <string.h> void showName(char name[2][10]){ for(int i=0;i<=1;i++){ //แสดงทุกชื่อในอาร์เรย์ printf("string name[%d]: %s\n",i,name[i]); } void main(){ char name[2][10];//ข้อความ 2 ข้อความ strcpy( name[0],"somkiat"); strcpy(name[1],"supavinee"); showName(name); getch();

8 การรับค่าพารามิเตอร์ของฟังก์ชันด้วยตัวชี้
void showX(int *x){ for(int i=0;i<=1;i++){ printf("integer[%d]: %d\n",i,x[i]); } #include <stdio.h> #include <conio.h> #include <string.h> void main(){ int x[2]={1,5}; showX(x); getch(); }

9 กำหนดขนาดอาร์เรย์ของพารามิเตอร์ในฟังก์ชัน
#include <stdio.h> #include <conio.h> #include <string.h> void main(){ int x[2]={1,5}; showX(x); getch(); } void showX(int x[2]){ for(int i=0;i<=1;i++){ //แสดงทุกชื่อในอาร์เรย์ printf("integer[%d]: %d\n",i,x[i]); }

10 อาร์เรย์แบบไม่กำหนดขนาดของพารามิเตอร์ในฟังก์ชัน
#include <stdio.h> #include <conio.h> #include <string.h> void main(){ int x[2]={1,5}; showX(x); getch(); } void showX(int x[]){ for(int i=0;i<=1;i++){ //แสดงทุกชื่อในอาร์เรย์ printf("integer[%d]: %d\n",i,x[i]); }

11 การคืนค่าอาร์เรย์จากฟังก์ชัน
#include <stdio.h> #include <conio.h> int *showX(int x[]){ x[0]=9; x[1]=7; return x; } void main(){ int x[2]={1,5}; int *y; y=showX(x); for(int i=0;i<=1;i++){ printf("integer[%d]: %d\n",i,*(y+i)); getch();

12 การใช้ตัวชี้กับอาร์เรย์ (Pointer to an array)
#include <stdio.h> #include <conio.h> void main () { float no[7] = {1000.0, 2.0, 5.4, 3.4, 15.0, 60.0, 97.5}; float *p; int i; int si=sizeof(no)/sizeof(float); //ขนาด p = no; printf( "Array values using pointer\n"); for ( i = 0; i < si; i++ ) { printf("*(p + %d) : %f\n", i, *(p + i) ); } printf( "Array values using no as address\n"); printf("*(no + %d) : %f\n", i, *(no + i) ); getch();

13 การจัดเก็บตารางธาตุโดยใช้อาร์เรย์
#include <stdio.h> #include <conio.h> void main(){ char periodic[118][2];// 118x2 ตัวย่อธาตุ printf("periodic table \n"); for(int i=0;i<=118;i++){ printf("periodic table in[%d]name:",i+1); scanf("%s",&periodic[i]); } getch();

14 การประมวลผลและจัดเก็บผลการเรียนในอาร์เรย์
#include <stdio.h> #include <conio.h> char chkGrade(float score); void main(){ char student[3][20];// นักศึกษา 3 คน float score[3]; char grade[3]; printf("Student Grade\n"); for(int i=0;i<=2;i++){ printf("Student name[%d]:",i+1); scanf("%s",&student[i]); printf("%s Score=",student[i]); scanf("%f",&score[i]); grade[i]=chkGrade(score[i]); printf("%s Grade:%c\n",student[i],grade[i]); } getch(); char chkGrade(float score){ char g; if(score>=80) g='A'; else if(score>=70) g='B'; else if(score>=60) g='C'; else if(score>=50) g='D'; else g='E'; return g; }

15 การกำหนดค่าอาร์เรย์ 2 มิติของปฏิทิน
#include <stdio.h> #include <conio.h> #include <string.h> void main(){ int day[5][7]; char daySP[5][7][20]; int sd; char week[7][3]={"SUN","MON","TUE","WED","THU","FRI","SAT"}; int startM=2; int row=0,col; int row_in,col_in; for(int i=1;i<=28;i++){ row=i/7; col=(startM+i)%7; day[row][col]=i; if(col<6) printf("[%d][%d]=%d ",row,col,i); else printf("[%d][%d]=%d\n",row,col,i); } strcpy(daySP[1][6],"Makha Bucha Day"); strcpy(daySP[2][2],"Vanlentine Day"); การกำหนดค่าอาร์เรย์ 2 มิติของปฏิทิน printf("\nDay:"); scanf("%d",&sd); row_in=sd/7; col_in=(startM+sd)%7; printf("\n===================================="); printf("\nDay %s %d is %s",week[col_in],day[row_in][col_in],daySP[row_in][col_in]); getch(); }

16 ผังงานการสร้างปฏิทินและการระบุวันสำคัญ

17 การใช้อาร์เรย์กับโครงสร้างพนักงาน
float chkBonus(float s){ float b=0.0f; if(s>=15000) b=s*0.1; else b=s*0.2; return b; } #include <stdio.h> #include <conio.h> #include <string.h> float chkBonus(float s); void main(){ struct employee emp[3]; for(int i=0;i<=2;i++){ printf("\nemployee ID:"); scanf("%d",&emp[i].emp_ID); printf("employee name:"); scanf("%s",&emp[i].emp_name); printf("salary:"); scanf("%f",&emp[i].salary); emp[i].bonus =chkBonus(emp[i].salary); printf("Bonus:%.2f",emp[i].bonus); } getch(); struct employee { int emp_ID; char emp_name[20]; float salary; float bonus; };

18 สรุป อาร์เรย์ คือ โครงสร้างที่สามารถจัดเก็บข้อมูลแบบแถวเรียงประกอบด้วยข้อมูลชนิดเดียวกันใช้อินเด็กซ์ (Index) สำหรับอ้างถึงข้อมูล สามารถจัดเก็บแบบอาร์เรย์ได้หลายมิติ เช่น 2 มิติประกอบด้วยแถวและคอลัมน์ - จำนวนข้อมูล=(แถวxคอลัมน์) การใช้อาร์เรย์ในการรับส่งระหว่างฟังก์ชันผ่านตัวชี้ อาร์เรย์ทั้งกำหนดขนาดหรือไม่กำหนดขนาด การจัดเก็บและประมวลผลชนิดข้อมูลที่แตกต่างผ่านโครงสร้าง struct และใช้อาร์เรย์เข้าถึงชุดข้อมูล


ดาวน์โหลด ppt อาร์เรย์ (Array) อาจารย์สมเกียรติ ช่อเหมือน

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


Ads by Google