Arrays.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Pointers. Why have pointers? / pointers ทำให้ฟังก์ชันหรือส่วนของ โปรแกรมสามารถใช้งานข้อมูลร่วมกันได้ / ใช้ pointers ในการสร้างโครงสร้างข้อมูลที่ ซับซ้อนได้
Advertisements

Arrays.
โครงสร้างโปรแกรมภาษา C
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
ตัวแปรประเภทตัวชี้ (Pointer)
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
ข้อมูลชนิดอาร์เรย์ Array (บทที่ 5)
BC322 ครั้งที่ 10 ตัวแปรชุด (Array)
ตัวแปรชุด (Array) Chapter Introduction to Programming
Principles of Programming
Principles of Programming
Lecture 10: อาร์เรย์หนึ่งมิติ
ทบทวน อาร์เรย์ (Array)
Array.
Arrays and Pointers.
Structure.
ARRAY.
Week 6 ประกาศค่าตัวแปร.
CE 112 บทที่ 5 การทำซ้ำในภาษา C
รับและแสดงผลข้อมูล.
โจทย์ Array 12 มี.ค จงเขียนโปรแกรมเพื่ออ่านข้อมูลเข้าเป็นจำนวนเต็ม 10 จำนวน แล้วหาผลรวมของเลขเหล่านั้น.
อาเรย์ (Array).
ปฏิบัติการครั้งที่ 9 ฟังก์ชัน.
Lecture no. 2: Overview of C Programming
คำสั่งควบคุมการทำงาน
ตัวแปรชุด.
การรับข้อมูลเบื้องต้นโดยใช้ฟังก์ชั่น scanf
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
Arrays.
Kairoek Choeychuen M.Eng (Electrical), KMUTT
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
ข้อมูลชนิดอาร์เรย์ ประเภทของข้อมูลที่ผ่านมาส่วนใหญ่ในตอนต้นๆจะเป็นข้อมูลเดี่ยว โดยตัวแปรหนึ่งตัวสามารถเก็บข้อมูลได้หนึ่งตัว ถ้าหากต้องการเก็บข้อมูลหลายตัวจะต้องประกาศตัวแปรหลายตัว.
บทที่ 11 การเขียนโปรแกรมภาษาซี
ข้อมูลพื้นฐานและตัวดำเนินการ
หน่วยที่ 1 พื้นฐานภาษา C
หน่วยที่ 14 การเขียนโปรแกรมย่อย
อาร์เรย์และข้อความสตริง
อาร์เรย์ (Array).
อาร์เรย์ (Array).
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
บทที่ 7 คำสั่งสำหรับเขียนโปรแกรม
ตัวแปรกับชนิดของข้อมูล
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
การรับและพิมพ์ข้อมูลเบื้องต้น
ตัวแปรกับชนิดของข้อมูล
Week 2 Variables.
Week 12 Engineering Problem 2
การประมวลผลสายอักขระ
Computer Programming for Engineers
ตัวแปรชุด Arrays.
กองซ้อน ยอดกองซ้อน (stack).
คำสั่งเกี่ยวกับการรับ และแสดงผล
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
โครงสร้างโปรแกรมภาษาซี
Output of C.
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
หน่วยที่ 4 โครงสร้างโปรแกรมภาษาซี
บทที่ 2 โครงสร้างของภาษา C.
ตัวแปร และชนิดข้อมูล.
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การเขียนโปรแกรม (ภาษาซี)
Week 13 Basic Algorithm 2 (Searching)
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
การทำซ้ำ Pisit Nakjai.
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
ใบสำเนางานนำเสนอ:

Arrays

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

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

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

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

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

ตัวอย่างการอ้างถึงสมาชิกในตัวแปรชุด #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]

ทดลองเขียนโปรแกรมรับและแสดงผลเลขจำนวนเต็ม 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

สังเกตโค้ดที่เขียนซ้ำๆกัน #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 ช่วยวนลูปได้

เปลี่ยนไปใช้คำสั่ง 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]);

โปรแกรมรับและแสดงผลเลขจำนวนเต็ม 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

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

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

การประกาศตัวแปรและกำหนดค่าเริ่มต้นในคราวเดียว 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 ค่าเท่านั้น

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

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

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

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

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