More Related Content
Similar to New presentation1
Similar to New presentation1 (20)
More from Nantiporn Khamluepluk
More from Nantiporn Khamluepluk (6)
New presentation1
- 2. ตัวแปรชนิดอาร์เรย์ (Array)
ตัวแปรอาร์เรย์(Array) หรือเรียกอีกชื่อหนึ่งว่าตัวแปรชุด เป็นการจองพื้นที่ในหน่วยความจา
ให้กับตัวแปร เพื่อให้ตัวแปรนั้นสามารถรับข้อมูลหรือเก็บข้อมูลได้มากกว่า1 ค่า ข้อมูลทุกตัวที่อยู่ในอาร์เรย์
จะต้องเป็นข้อมูลชนิดเดียวกันเท่านั้น และตัวแปรอาร์เรย์สามารถใช้งานได้เหมือนกับตัวแปรทั่วไป
ตัวแปรอาร์เรย์ (Array) แบ่งได้เป็น 3 ชนิด
1.อาร์เรย์ชนิด 1 มิติ (One-Dimensional)
2.อาร์เรย์ชนิด 2 มิติ (Two-Dimensional)
3.อาร์เรย์ชนิด 3 มิติ (Three-Dimensional)
- 3. อาร์เรย์ชนิด 1 มิติ (One-Dimensional)
อาร์เรย์ชนิด 1 มิติ คือ อาร์เรย์ที่มีเพียง 1 แถวนอน แต่มี แถวตั้งหลายแถว ซึ่งในการระบุตาแหน่งหรือตัวชี้ (index)
จะมีแต่ระบุแต่ตาแหน่งของแถวตั้งเท่านั้น โดยนับเริ่มจาก 0 ในตาแหน่งที่ 0 (score[0]) จะมีค่า 2
การสร้างอาร์เรย์
ในการสร้างการสร้างอาร์เรย์นั้นสามารถทาได้ใน 2 รูปแบบ คือ
1. เป็นการสร้างตัวแปรอาร์เรย์โดยยังไม่ได้กาหนดค่าให้กับอาเรย์ เป็นเพียงแต่การจองพื้นที่ใน
หน่วยความจา
dataType [ ] arrayName = new dataType[arraySize]; หรือ
dataType arrayName [ ] = new dataType[arraySize];
dataType = ชนิดข้อมูลของตัวแปรอาร์เรย์เช่น int ,double เป็นต้น
arrayName = ชื่อของตัวแปรอาร์เรย์
- 4. เช่น int [ ] myList = new int [10]
double name[ ] = new double [5]
จากตัวอย่าง ตัวแปรชื่อ myList เป็นตัวแปรอาร์เรย์ชนิด int มีขนาด 10 ส่วนตัวแปรชื่อ name
นั้นมีชนิดเป็น double และมีขนาดเป็น 5 เครื่องหมาย [ ] นั้นจะเป็น index เพื่อใช้บอกตาแหน่งของตัว
อาร์เรย์นั้นๆ ซึ่งจะเริ่มต้นที่ 0 เสมอ เช่น จากตัวอย่างตัวแปร name ถูกกาหนดขนาดไว้เท่ากับ 5 พื้นที่ที่
ถูกจองก็จะเป็นดังรูป
- 6. ตัวอย่างโปรแกรม
int n[5] = { 5, 3, 2, 6, 1 }; int i , j;
for ( i = 0; i < 5; i++ )
{
for ( j = 1; j <= n[i]; j++ )
System.out.print( “*” );
System.out.print ( "n" );
}
- 7. อาร์เรย์ 2 มิติ เป็นตัวแปรชุด ที่มีการจัดการข้อมูล แถว (Row) หลัก (Column) ซึ่งอยู่ในรูปแบบ
ตาราง ที่มีแสดงตาแหน่ง 2 ตัว
อาร์เรย์ 2 มิติ คือ array of array กล่าวคือ array 2 มิติ เป็น array ของ array 1 มิติ นั่นเอง
2.อาร์เรย์ชนิด 2 มิติ (Two-Dimensional)
- 8. การกาหนดค่าเริ่มต้น
หลังจากที่ได้ทาการประกาศและกาหนดลักษณะของอาร์เรย์แล้วในแต่ละ Element ของอาร์เรย์จะยังไม่มีค่า
บรรจุอยู่ ในการกาหนดค่าเริ่มต้นของ Element แต่ละตัวสามารถทาได้หลังจากการประกาศ ตัวอย่างสมมุติว่า
ต้องการใช้ 20 ค่า การกาหนดค่าเริ่มต้นแบบทางเดียวจะเป็นดังนี้
int table [5] [4]; =
{ 0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33, 40, 41, 42, 43 }
;
หรือการกาหนดค่าเริ่มต้นให้กับอาร์เรย์วิธีที่ดีที่สุดจะเป็นดังนี้
int table [5] [4];
{
{ 0, 1, 2, 3 },
{10, 11, 12, 13 },
{20, 21, 22, 23 },
{30, 31, 32, 33 },
{40, 41, 42, 43 }
}; /* table */
- 9. การรับค่า
เป็นการใช้ฟังก์ชัน scanf มารับค่าใส่ลงในแต่ละ Element ของอาร์เรย์2 มิตินั้น จะต้องใช้ลูป 2 ลูปซ้อน
กัน สมมุติว่าอาร์เรย์มีขนาด n m ลูปแรกจะเป็นของแถวโดยจะทาตั้งแต่ 0 ถึง n – 1 ส่วนลูปที่ 2 จะเป็นของ
คอลัมน์จะทาตั้งแต่ 0 ถึง m – 1 ถ้าต้องการรับค่าเข้าในอาร์เรย์ในรูปที่ 8-14 สามารถทาได้ดังนี้
for (row = 0; row < 5; row++)
for (column = 0; column < 4; column++)
scanf (“%d”,&table[row][column]);
- 10. การแสดงค่า
เป็นการนาค่าในแต่ละ Element ออกมาแสดง โดยใช้ลูป for ซ้อนกัน 2 ลูปเข้ามาช่วย โดยลูปแรกจะเป็น
ตัวควบคุมการพิมพ์ของแถว และลูปที่ 2 จะเป็นตัวควบคุมการพิมพ์ของคอลัมน์ เมื่อจะพิมพ์อาร์เรย์table
ออกมาเป็นรูปแบบตาราง จะต้องทาการขึ้นบรรทัดใหม่ทุกครั้ง เมื่อพิมพ์แต่ละแถวจบ ซึ่งแสดงดังตัวอย่าง
ด้านล่าง
for (row = 0; row < 5; row++)
{
for (Colum =0; column < 4; column++)
printf(“%8d”, tale[row][column]);
printf(“n”);
}
- 12. 3.อาร์เรย์ชนิด 3 มิติ (Three-Dimensional)
อาร์เรย์3 มิติ ก็คือ “อาร์เรย์ของอาร์เรย์ของอาร์เรย์” – เข้าถึงสมาชิกด้วย ตัวเลขดัชนี (index) 3
ตัว
- 13. การกาหนดตัวแปร
ชนิดตัวแปร ชื่อตัวแปร[จานวนสมาชิก][จานวนสมาชิก][จานวนสมาชิก];
การกาหนดค่าให้ตัวแปรอาร์เรย์ 3 มิติ
int data[2][3][2] = {{{1,1},{2,2},{3,3}},{{4,4},{5,5},{6,6}}};
ในกรณีที่ไม่ต้องใส่ขนาดของมิติ
int data[ ][ ] = {{{1,1},{2,2},{3,3}},{{4,4},{5,5},{6,6},{7,7}}};
int data[2][3][1] = {{{1},{2},{3}},{{4},{5},{6}}};
- 14. สตริง(string)หมายถึง ชุด(array) ของตัวอักขระ (character) ที่เรียงต่อกันสตริงจะเป็นคาหรือ
ข้อความที่มีความหมายใน C++ ไม่มีชนิดข้อมูล ประเภทstring การกาหนดstringคือการกาหนดเป็น
อาร์เรย์ของข้อมูลชนิดchar หลายๆตัวนามาเชื่อมต่อกันเป็นstring เช่น
character 'C','o','m','p','u','t','e','r' เก็บไว้ในอาร์เรย์รวมเป็นข้อมูล string ซึ่งจะได้ข้ออค
วาม "Computer" ข้อมูลstring เป็นได้ทั้งค่าคงที่ (constant) และตัวแปร(variable)
ข้อมูลชนิดสตริง
(String)
- 15. ความยาวสตริง (String Length) เป็นการบอกให้ทราบว่าสตริงตัวนั้นมีตัวอักษรหรือ ความยาว
เท่าไร จะกาหนดเป็นฟังก์ชัน Length ที่ส่งค่าความยาวกลับมาให้ ดังนี้
N = Length (S) ;
ค่าที่ส่งกลับมาเท่ากับ N
รวมสตริง (String Concatenation) เป็นการนา 2 สตริงมารวมกันเป็นสตริงเดียว โดย
นาตัวอักษรทั้งหมดของสตริงตัวหลังไปต่อท้ายสตริงตัวแรก กาหนดเป็นฟังก์ชัน Concate ดังนี้
Concate (S, S1);
- 16. ค่าคงที่สตริงและตัวแปรสตริง (string constants and string variables)
ค่าคงที่สตริง คือ ตัวอักขระ (characters) ใด ๆ ที่เขียนอยู่ภายใต้เครื่องหมาย “
“ (double quotation) เช่น “Greeting!” , ”Hello, ” ”SA-WAS-DEE” ,
“4567” , “123.45” เป็นต้น
ตัวแปรสตริง คือ ตัวแปรชุดที่เก็บค่าคงที่ชนิดสตริง โดยมีชนิดของตัวแปรชุด
เป็น char เช่น char name[30]=”KANNIKAR”; หรือ
char strnum[10]=”12345”; เป็นต้น
สาหรับการเก็บค่าคงที่ชนิดสตริงไว้ในตัวแปรสตริงภายในหน่วยความจานั้น จะเก็บเรียงกันไปทีละตัว
อักขระ โดยใช้เนื้อที่ 1 byte ต่อการเก็บตัวอักษร 1 ตัว และใน byte สุดท้ายสตริงจะมีการ
เก็บ 0 (null character) ไว้เพื่อเป็นการบอกให้ compiler รู้ว่าหมดข้อมูลที่เก็บไว้แล้ว