Your SlideShare is downloading. ×
0
การจัด การชุด ข้อ มูล โดย
ใช้อ าเรย์ (Array)
C# Programming
อาเรย์ค ือ อะไร
“อาเรย์เ ป็น ชุด ของข้อ มูล ซึ่ง มี
ประเภทข้อ มูล เดีย วกัน ”

Disk Array

Processor Array
ตัว อย่า ง: คลาส Score


พิจารณาโปรแกรมซึ่งรับ และเก็บ
ข้อมูลคะแนนในตัวแปร 3 ตัวแปรต่าง
กัน
using System;
using System;

...
หากจำา นวนนัก เรีย นมาก
ขึ้น ? ่จะมีนักเรียนเพียงสองคน กลับมี
 แทนที
นักเรียนจำานวน 60 คน
using System;
using System;
cla...
อาเรย์ใ น C#
อาเรย์เ ป็น โครงสร้า งข้อ มูล ซึ่ง เก็บ
ชุด ข้อ มูล ที่ม ีป ระเภทข้อ มูล เหมือ น
กัน
 เทอมในอาเรย์
Indices

...
มิต ิใ นอาเรย์


อาเรย์หนึ่งมิติ

0 1 2 3 4 5 6 7 8 9 10 11



อาเรย์หลายมิติ


ตัวอย่าง อาเรย์สองมิติ
3
2
1
0
0 1 2 3 ...
การประกาศตัว แปรอาเรย์



ตัวแปรอาเรย์ใช้สำาหรับอ้างถึงอาเรย์
ไวยากรณ์:
<type>[] <name>;
<type>[] <name>;



ตัวอย่าง:
...
การสร้า งอาเรย์


อาเรย์จริงจะถูกสร้างโดยใช้ตัวดำาเนินการ
new




new <type>[<#elements>]

ไวยากรณ์ข้างต้นถือเป็นนิพจน์...
การประกาศและกระบวนการ
สร้า งอาเรย์
int[] scores;
int[] scores;
scores = new int[10];
scores = new int[10];

scores

??

หน...
การสร้า งอาเรย์ด ว ยการ
้
กำา หนดค่า เริ่ม ต้น



อาเรย์อาจจะถูกสร้างโดยใช้คาเริ่มต้น
่
ไวยากรณ์ #1:
new <type>[<#elemen...
การเข้า ถึง ข้อ มูล ในอาเรย์


ไวยากรณ์:
<name>[<index>]


<index> เป็นจำานวนเต็มตั้งแต่ 0 และขนาด

ของอาเรย์ - 1



ตั...
ตัว อย่า ง: Class Score
using System;
using System;
class Scoring {
class Scoring {
static void Main() {
static void Main(...
คำาสั่ง foreach



ใช้สำาหรับการวนรอบข้อมูลทุกตัวทีอยู่
่
ในอาเรย์
foreach :
ไวยากรณ์(<type> <var> in <array>)
statement...
การส่ง อาเรย์ไ ปยัง เมท็อ ด


เมท็อดต่อไปนี้ทำาการหาผลรวมของ
ทุกค่าข้อมูลทีอยู่ในอาเรย์
่
static double Sum(double[] arra...
การตรวจสอบขนาดขอ
งอาเรย์

By property Le ng th

int[] scores = new int[5];
int[] scores = new int[5];
Console.WriteLine(s...
ตัว อย่า งการหาขนาดขอ
งอาเรย์


อีกวิธีหนึงสำาหรับการหาผลรวมของ
่
ค่าข้อมูลในอาเรย์
double Summation(double[] array) {
do...
String คือ อาเรย์ข อง
อักวอย่าง
ขระ
 ตั
string s = "Hello";
string s = "Hello";
Console.WriteLine("Length = {0}", s.Lengt...
ตัว อย่า งการหาค่า สูง สุด


เขียนเมท็อด FindM เพือคำานวนหา
ax ่
ค่าข้อมูลทีสงทีสดในอาเรย์ชนิด
่ ู ่ ุ
doubles
static dou...
Upcoming SlideShare
Loading in...5
×

08 arrays

136

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
136
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "08 arrays"

  1. 1. การจัด การชุด ข้อ มูล โดย ใช้อ าเรย์ (Array) C# Programming
  2. 2. อาเรย์ค ือ อะไร “อาเรย์เ ป็น ชุด ของข้อ มูล ซึ่ง มี ประเภทข้อ มูล เดีย วกัน ” Disk Array Processor Array
  3. 3. ตัว อย่า ง: คลาส Score  พิจารณาโปรแกรมซึ่งรับ และเก็บ ข้อมูลคะแนนในตัวแปร 3 ตัวแปรต่าง กัน using System; using System; class Scoring { class Scoring { static void Main() { static void Main() { int s1, s2, s3; int s1, s2, s3; double avg; double avg; Console.Write("Enter score #1: "); Console.Write("Enter score #1: "); s1 = int.Parse(Console.ReadLine()); s1 = int.Parse(Console.ReadLine()); Console.Write("Enter score #2: "); Console.Write("Enter score #2: "); s2 = int.Parse(Console.ReadLine()); s2 = int.Parse(Console.ReadLine()); Console.Write("Enter score #3: "); Console.Write("Enter score #3: "); s3 = int.Parse(Console.ReadLine()); s3 = int.Parse(Console.ReadLine()); } } } } avg = (s1+s2+s3)/3.0; avg = (s1+s2+s3)/3.0; Console.WriteLine("Average score is {0:f2}.", avg); Console.WriteLine("Average score is {0:f2}.", avg);
  4. 4. หากจำา นวนนัก เรีย นมาก ขึ้น ? ่จะมีนักเรียนเพียงสองคน กลับมี  แทนที นักเรียนจำานวน 60 คน using System; using System; class Scoring {{ class Scoring static void Main() {{ static void Main() int s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, ???; int s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, ???; double avg; double avg; Console.Write("Enter score #1: "); Console.Write("Enter score #1: "); s1 == int.Parse(Console.ReadLine()); s1 int.Parse(Console.ReadLine()); Console.Write("Enter score #2: "); Console.Write("Enter score #2: "); s2 == int.Parse(Console.ReadLine()); s2 int.Parse(Console.ReadLine()); Console.Write("Enter score #3: "); Console.Write("Enter score #3: "); s3 == int.Parse(Console.ReadLine()); s3 int.Parse(Console.ReadLine()); Console.Write("Enter score #4: "); Console.Write("Enter score #4: "); s4 == int.Parse(Console.ReadLine()); s4 int.Parse(Console.ReadLine()); Console.Write("Enter score #5: "); Console.Write("Enter score #5: "); s5 == int.Parse(Console.ReadLine()); s5 int.Parse(Console.ReadLine()); Console.Write("Enter score #6: "); Console.Write("Enter score #6: "); s6 == int.Parse(Console.ReadLine()); s6 int.Parse(Console.ReadLine()); :: :: }} }} อีก ทางเลือ กหนึ่ง : ใช้อ าเรย์
  5. 5. อาเรย์ใ น C# อาเรย์เ ป็น โครงสร้า งข้อ มูล ซึ่ง เก็บ ชุด ข้อ มูล ที่ม ีป ระเภทข้อ มูล เหมือ น กัน  เทอมในอาเรย์ Indices First index 0 1 2 3 4 5 6 7 8 9 Array Element (at index 7) Length = 10  อาเรย์สามารถเข้าถึงได้ผ่าน array variable s
  6. 6. มิต ิใ นอาเรย์  อาเรย์หนึ่งมิติ 0 1 2 3 4 5 6 7 8 9 10 11  อาเรย์หลายมิติ  ตัวอย่าง อาเรย์สองมิติ 3 2 1 0 0 1 2 3 4 5 6 7 8
  7. 7. การประกาศตัว แปรอาเรย์   ตัวแปรอาเรย์ใช้สำาหรับอ้างถึงอาเรย์ ไวยากรณ์: <type>[] <name>; <type>[] <name>;  ตัวอย่าง: // "scores" refers to an array of integers // "scores" refers to an array of integers int[] scores; int[] scores; // "grades" refers to an array of characters // "grades" refers to an array of characters char[] grades; char[] grades; // "names" refers to an array of strings // "names" refers to an array of strings string[] names; string[] names;
  8. 8. การสร้า งอาเรย์  อาเรย์จริงจะถูกสร้างโดยใช้ตัวดำาเนินการ new   new <type>[<#elements>] ไวยากรณ์ข้างต้นถือเป็นนิพจน์ อาเรย์ซงสร้างขึ้นมาใหม่สามารถกำาหนด ึ่ ให้กับตัวแปรอาเรย์สำาหรับการอ้างอิงต่อ int[] scores; ไปได้ใint[] scores; นอนาคต  ตัวอย่าง: scores = new int[10]; scores = new int[10]; int[] scores = new int[10]; int[] scores = new int[10];  หรือ
  9. 9. การประกาศและกระบวนการ สร้า งอาเรย์ int[] scores; int[] scores; scores = new int[10]; scores = new int[10]; scores ?? หน่ว ยความจำา คอมพิว เตอร์
  10. 10. การสร้า งอาเรย์ด ว ยการ ้ กำา หนดค่า เริ่ม ต้น   อาเรย์อาจจะถูกสร้างโดยใช้คาเริ่มต้น ่ ไวยากรณ์ #1: new <type>[<#elements>] {value1,value2,...}  ตัวอย่าง: int[] scores = new int[4] {30,20,50,25}; int[] scores = new int[4] {30,20,50,25};  ไวยากรณ์ #2: {value1,value2,...}  ตัวอย่าง: int[] scores = {30,20,50,25}; int[] scores = {30,20,50,25};
  11. 11. การเข้า ถึง ข้อ มูล ในอาเรย์  ไวยากรณ์: <name>[<index>]  <index> เป็นจำานวนเต็มตั้งแต่ 0 และขนาด ของอาเรย์ - 1  ตัวอย่าง int[] scores = new int[5]; int[] scores = new int[5]; scores[0] = 15; scores[0] = 15; scores[3] = 52; scores[3] = 52; Console.WriteLine(scores[3]); Console.WriteLine(scores[3]); Console.WriteLine(scores[2]); Console.WriteLine(scores[2]); 0 1 15 0 0 2 3 4 0 52 0 0 scores
  12. 12. ตัว อย่า ง: Class Score using System; using System; class Scoring { class Scoring { static void Main() { static void Main() { int[] s = new int[60]; int[] s = new int[60]; int i; int i; double avg; double avg; } } } } for (i = 0; i < 60; i++) { for (i = 0; i < 60; i++) { Console.Write("Enter score #{0}: ", i+1); Console.Write("Enter score #{0}: ", i+1); s[i] = int.Parse(Console.ReadLine()); s[i] = int.Parse(Console.ReadLine()); } } : : : :
  13. 13. คำาสั่ง foreach   ใช้สำาหรับการวนรอบข้อมูลทุกตัวทีอยู่ ่ ในอาเรย์ foreach : ไวยากรณ์(<type> <var> in <array>) statement;  ตัวint[]าa : new int[] {1,2,3,4,5}; อย่ ง = int[] a = new int[] {1,2,3,4,5}; int sum = 0; int sum = 0; foreach (int i in a) foreach (int i in a) { { sum = sum + i; sum = sum + i; } }
  14. 14. การส่ง อาเรย์ไ ปยัง เมท็อ ด  เมท็อดต่อไปนี้ทำาการหาผลรวมของ ทุกค่าข้อมูลทีอยู่ในอาเรย์ ่ static double Sum(double[] array) { static double Sum(double[] array) { double sum = 0.0; double sum = 0.0; foreach (double x in array) foreach (double x in array) sum += x; sum += x; } } return sum; return sum;
  15. 15. การตรวจสอบขนาดขอ งอาเรย์  By property Le ng th int[] scores = new int[5]; int[] scores = new int[5]; Console.WriteLine(scores.Length); Console.WriteLine(scores.Length);  By method Ge tLe ng th int[] scores = new int[5]; int[] scores = new int[5]; Console.WriteLine(scores.GetLength(0)); Console.WriteLine(scores.GetLength(0));
  16. 16. ตัว อย่า งการหาขนาดขอ งอาเรย์  อีกวิธีหนึงสำาหรับการหาผลรวมของ ่ ค่าข้อมูลในอาเรย์ double Summation(double[] array) { double Summation(double[] array) { double sum = 0.0; double sum = 0.0; for (int i = 0; i < array.Length; i++) for (int i = 0; i < array.Length; i++) sum += array[i]; sum += array[i]; } } return sum; return sum;
  17. 17. String คือ อาเรย์ข อง อักวอย่าง ขระ  ตั string s = "Hello"; string s = "Hello"; Console.WriteLine("Length = {0}", s.Length); Console.WriteLine("Length = {0}", s.Length); Console.WriteLine("First char is {0}", s[0]); Console.WriteLine("First char is {0}", s[0]); Console.WriteLine("Last char is {0}", s[s.Length-1]); Console.WriteLine("Last char is {0}", s[s.Length-1]); 0 1 2 3 4 'H' 'e' 'l' 'l' 'o' s
  18. 18. ตัว อย่า งการหาค่า สูง สุด  เขียนเมท็อด FindM เพือคำานวนหา ax ่ ค่าข้อมูลทีสงทีสดในอาเรย์ชนิด ่ ู ่ ุ doubles static double FindMax(double[] data) { static double FindMax(double[] data) { double max = data[0]; double max = data[0]; foreach (double x in data) foreach (double x in data) if (x > max) max = x; if (x > max) max = x; } } return max; return max;
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×