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

Slides:



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

ครั้งที่ 9 Function(ต่อ).
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
BOON Array. BOON ตัวแปรอาร์เรย์แบบหนึ่งมิติ (One Dimension) Type array_name [Nmax],…; Ex. char fname[5]; char sname[5];
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
ข้อมูลชนิดสตริง String บทที่ 8
Computer Programming 1 LAB Test 3
LAB # 1.
ครั้งที่ 12 การค้นหาข้อมูล (Searching)
ข้อมูลชนิดโครงสร้าง (Structure Data)
การควบคุมทิศทางการทำงาน
LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้
LAB # 5 Computer Programming 1 1.
LAB # 4.
ARRAY.
คำสั่งเพื่อการกำหนดเงื่อนไข
คำสั่งควบคุมการทำงาน
ตัวแปรชุด.
การรับข้อมูลเบื้องต้นโดยใช้ฟังก์ชั่น scanf
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
Arrays.
Arrays.
บทที่ 12 Structure and union Kairoek choeychuen
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
ข้อมูลชนิดอาร์เรย์ ประเภทของข้อมูลที่ผ่านมาส่วนใหญ่ในตอนต้นๆจะเป็นข้อมูลเดี่ยว โดยตัวแปรหนึ่งตัวสามารถเก็บข้อมูลได้หนึ่งตัว ถ้าหากต้องการเก็บข้อมูลหลายตัวจะต้องประกาศตัวแปรหลายตัว.
หน่วยที่ 17 แอเรย์ของสตรัคเจอร์. แอเรย์ของข้อมูลสตรัคเจอร์ student_info student[30]; Student[0]Student[0].Name Student[0].Midterm Student[0].Assignment.
หน่วยที่ 1 พื้นฐานภาษา C
หน่วยที่ 14 การเขียนโปรแกรมย่อย
ตัวอย่างโปรแกรมคำนวณหาพื้นที่สี่เหลี่ยม
การสร้างฟังก์ชั่นเพื่อพัฒนาโปรแกรม Interactive C
การเขียนโปรแกรมแสดงผลข้อมูล
#include #define N 5 void main() { inti, X[N]; for (i=0; i < N; i++) { /* รับข้อมูล */ printf(“Enter number : ”); scanf(“%d”, &X[i] ); } for (i=0; i
คำสั่งเกี่ยวกับการรับ และแสดงผล
การเขียนโปรแกรม (ภาษาซี)
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
Array ธนวัฒน์ แซ่ เอียบ. The concept of array อาเรย์ : กลุ่มของข้อมูลที่มีชนิดเดียวกันและถูก จัดเก็บเรียงลำดับต่อเนื่องกัน ตัวแปร x สามารถจัดเก็บค่ามากกว่า.
หลักการโปรแกรม 1 Lecture 14: โปรแกรมย่อย ( การส่งพารามิเตอร์ แบบ pass by reference)
ฟังก์ชันในภาษา C. ฟังก์ชัน (Functions) 2 การออกแบบโปรแกรมในภาษาซี จะอยู่บนพื้นฐานของการออกแบบ โมดูล (Module Design) โดยการแบ่ง โปรแกรมออกเป็นงานย่อย ๆ.
การเปรียบเทียบเงื่อนไข
การเขียนโปรแกรมภาษาเบื้องต้น (ภาษาซี)
โครงสร้างการทำงานแบบวนซ้ำ
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming I โดย อ.วิมลศรี เกตุโสภณ สาขาวิชาระบบสารสนเทศ
โปรแกรม ภาษา C ภาษาซี (C Language) เป็นภาษาหนึ่งสำหรับเขียนโปรแกรมคอมพิวเตอร์   พัฒนาขึ้นโดยนายเดนนิส  ริทชี่ (Dennis Ritche)  ในปี ค.ศ. 1972  เพื่อสร้างระบบปฏิบัติการยูนิกซ์
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
บทที่ 4 การรับและแสดงผลข้อมูล
C Programming By Mr. Sanae Sukprung.
โปรแกรมย่อย อาจารย์สมเกียรติ ช่อเหมือน
การควบคุมทิศทางการทำงาน
บริษัท พัฒนาวิชาการ (2535) จำกัด
Chapter 4 ข้อความสั่ง เลือกทำ.
คำสั่งวนซ้ำ (Looping)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Chapter 9 ตัวชี้ pointer.
INC 161 , CPE 100 Computer Programming
ใช้สำหรับ Turbo C++ Version 3.0
ภาษา C เบื้องต้น.
การควบคุมการทำงานด้วยภาษา C
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
โครงสร้างโปรแกรมภาษา C
บทที่ 4 ตัวแปร (Variables)
หลักการเขียนโปรแกรมภาษาซี
บทที่ 6 สตรัคเจอร์ Structure
อาเรย์ (Array).
บทที่ 3 โครงสร้างภาษาซีเบื้องต้น
ตัวแปรชนิดพอยเตอร์ (Pointer)
Chapter 6: Structure ตัวแปรแบบโครงสร้าง Reference
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Introduction to Computer Programming
Chapter 7: File แฟ้มข้อมูล Source of slides
ใบสำเนางานนำเสนอ:

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

เนื้อหาที่สนใจ อาร์เรย์ การประกาศใช้งานอาร์เรย์ (Declaring Arrays) อาร์เรย์หลายมิติ (Multi-dimensional arrays) อาร์เรย์ 2 มิติ (Two-dimensional Arrays) การส่งค่าอาร์เรย์ไปยังฟังก์ชัน การรับค่าพารามิเตอร์ของฟังก์ชันด้วยตัวชี้ กำหนดขนาดอาร์เรย์ของพารามิเตอร์ในฟังก์ชัน การคืนค่าอาร์เรย์จากฟังก์ชัน การใช้ตัวชี้กับอาร์เรย์ (Pointer to an array) ตัวอย่างการเขียนโปรแกรมโดยใช้อาร์เรย์ http://1.bp.blogspot.com/-tw1caa8lBus/Vphe8RV3rwI/AAAAAAAAAKM/wAhp-ds7iQM/s1600/8.png

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

การประกาศใช้งานอาร์เรย์ (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();

อาร์เรย์หลายมิติ (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(); https://medium.swirrl.com/how-the-olympics-explains-multidimensional-data-8e58b127edb2

อาร์เรย์ 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();

การส่งค่าอาร์เรย์ไปยังฟังก์ชัน #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(); https://en.wikipedia.org/wiki/List_of_Hail_Mary_passes_in_American_football

การรับค่าพารามิเตอร์ของฟังก์ชันด้วยตัวชี้ 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(); } http://www.iconshock.com/icons/select_point-icon.html

กำหนดขนาดอาร์เรย์ของพารามิเตอร์ในฟังก์ชัน #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]); } https://packagingblog.org/2011/10/28/box-size-how-to-measure/

อาร์เรย์แบบไม่กำหนดขนาดของพารามิเตอร์ในฟังก์ชัน #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]); }

การคืนค่าอาร์เรย์จากฟังก์ชัน #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();

การใช้ตัวชี้กับอาร์เรย์ (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();

การจัดเก็บตารางธาตุโดยใช้อาร์เรย์ #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(); https://th.wikipedia.org/wiki/ตารางธาตุ

การประมวลผลและจัดเก็บผลการเรียนในอาร์เรย์ #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; }

การกำหนดค่าอาร์เรย์ 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(); }

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

การใช้อาร์เรย์กับโครงสร้างพนักงาน 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; };

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