Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
LOGO อะเรย์ (Array) ดัดแปลงจาก Nerissa Onkhum 24/05/60 อาจารย์ เณริสสา อ่อนขา http://mathcom.uru.ac.th/~nerissa/OOP.html 1 Outline อธิบายความหมายของอะเรย์ แนะนาอะเรย์ของข้อมูลชนิดพื้นฐาน แนะนาอะเรย์ของข้อมูลชนิดคลาส แนะนาอะเรย์หลายมิติ 24/05/60 2 ความหมายของอะเรย์ อะเรย์ในภาษาจาวาคือตัวแปรที่เป็ นชนิดข้อมูลแบบอ้างอิงทีส่ ามารถใช้ เก็บข้อมูลชนิดเดียวกันได้หลายค่า ตัวอย่างเช่น คาสัง่ int []x = new int[5]; อะเรย์แบ่งเป็ น อะเรย์ของข้อมูลชนิดพื้นฐาน อะเรย์ของข้อมูลชนิดคลาส 24/05/60 3 สมาชิกแต่ละตัวของ Array จะเรี ยกว่า Element หรื อ Cell ตัว เลขที่ใช้ระบุตาแหน่ งสมาชิกของ Array เรี ยกว่า Index หรื อ Subscript 5 8 9 7 3 X[0] X[1] X[2] X[3] X[4] ตัวอย่าง Array X ที่มี 5 Element ซึ่งจะเริ่ มต้น ตั้งแต่ Index 0 ถึง 4 int a=5; a=3; 3 5 int a; int b; int c; a b พื้นที่ a ใน ram c พื้นที่ใน ram อาเรย์ 1 มิติ อาเรย์ 2 มิติ X[0] X[1] X[2] X[3] X[4] X[0][0] X[0][1] X[0][2] X[0][3] X[0][4] X[1][0] X[1][1] X[1][2] X[1][3] X[1][4] อะเรย์ ของข้ อมูลชนิดพืน้ ฐาน การสร้างอะเรย์ของข้อมูลชนิดพื้นฐานมีข้ นั ตอนดังนี้ ประกาศชื่อตัวแปรอะเรย์ สร้างตัวแปรอะเรย์และจองเนื้อที่ในหน่วยความจาโดย ใช้คาสัง่ new 24/05/60 8 การประกาศชื่ อตัวแปรอะเรย์ รู ปแบบคล้ายกับการประกาศชื่อตัวแปรของชนิดข้อมูลแบบพืน้ ฐาน แต่ การประกาศตัวแปรอะเรย์จะต้องมีเครื่ องหมาย [] อยูด่ า้ นหน้าหรื อ ด้านหลังชื่อตัวแปรดังนี้ [modifier] dataType []variableName; หรื อ [modifier] dataType variableName[]; 24/05/60 9 การประกาศชื่ อตัวแปรอะเรย์ ตัวอย่างเช่น คาสัง่ int x[]; char []ch; double y[]; ข้อควรระวัง คำสัง่ int 24/05/60 []x,y; แตกต่ำงจำกคำสัง่ int x[],y; 10 การสร้ างตัวแปรอะเรย์ อะเรย์จะถูกสร้างและจองเนื้อที่ในหน่วยความจาโดยใช้คาสัง่ new ซึง่ มีรปู แบบของคำสังดั ่ งนี้ variableName = new dataType[size]; ตัวอย่ำงเช่น x = new int[5]; ch = new char[4]; y = new double[6]; 24/05/60 11 การรวมคาสั่ งประกาศและสร้ างตัวแปรอะเรย์ เราสามารถที่จะรวมคาสัง่ ประกาศชื่อตัวแปรและคาสัง่ การสร้าง ตัวแปรอะเรย์ไว้ในคาสัง่ เดียวกันได้ โดยมีรูปแบบคาสัง่ ดังนี้ dataType []variableName = new dataType[size]; หรือ dataType variableName[] = new dataType[size]; ตัวอย่ำงเช่น 24/05/60 int []x = new int[5]; 13 การเรียกใช้ สมาชิกของอะเรย์ ตัวแปรอะเรย์ที่สร้างขึ้นจะมีสมาชิกที่มีหมายเลขตั้งแต่ 0 จนถึง size-1 การอ้างอิงถึงสมาชิกของตัวแปรอะเรย์แต่ละตัวจะมีรูปแบบดังนี้ variableName[index] ตัวอย่ างเช่ น x[3] การเปลี่ยนแปลงค่าของสมาชิกของอะเรย์ทาได้โดยการใช้คาสัง่ กาหนดค่า โดยต้องอ้างอิงถึงหมายเลขสมาชิกของอะเรย์ ตัวอย่ างเช่ น x[0] = 4; x[2] = 5; 24/05/60 14 ตัวอย่ างโปรแกรม public class SimpleArrays { public static void main(String args[]) { int []x; x = new int[4]; x[0] = 0; x[1] = 2; x[2] = 4; x[3] = 6; ผลลัพธ์ที่ได้จากการรันโปรแกรม System.out.println("x = "+x); x = [I@310d42 System.out.println("x[0] = "+x[0]); x[0] = 0 System.out.println("x[1] = "+x[1]); x[1] = 2 System.out.println("x[2] = "+x[2]); x[2] = 4 System.out.println("x[3] = "+x[3]); x[3] = 6 } } 24/05/60 15 การกาหนดค่ าเริ่มต้ นให้ กบั สมาชิกของอะเรย์ เราสามารถที่จะประกาศตัวแปรอะเรย์ สร้างตัวแปรอะเรย์ และกาหนดค่าให้กบั สมาชิกของอะเรย์ภายในคาสั่งเดียวกัน โดยมีรูปแบบของคาสั่งดังนี้ dataType []variableName={value1,value2,..,valueN}; ตัวอย่างเช่น int []x = {4,3,5,1,8}; 24/05/60 16 ลาดับทีใ่ นอะเรย์ รู ปแบบ อะเรย์[อินเด็กซ์] ตัวแปรที่อยูล่ าดับแรกมีอินเด็กซ์เป็ น 0 ตัวแปรที่อยูถ่ ดั ไปคือ 1, 2, 3, ... ตามลาดับ ตัวแปรที่อยูใ่ นลาดับสุ ดท้ายของ อะเรย์ มีอินเด็กซ์คือ อะเรย์ .length - 1 24/05/60 17 ตัวอย่ าง int[] scores = { 30, 50, 85, 10, 45 }; System.out.println(scores[0]); System.out.println(scores[scores.length-1]); 24/05/60 18 ขนาดของอะเรย์ รู ปแบบ อะเรย์ .length ตัวอย่ าง int[] scores; scores = new int[50]; System.out.println(scores.length); 24/05/60 19 ตัวแปรอะเรย์ หลายตัว การประกาศอาร์เรย์หลายตัวทาได้ดงั นี้ int [] abc , xyz; abc = new int[500]; xyz = new int[10]; หรื อเขียนรวมกันได้ดงั นี้ int[] abc = new int[500], xyz = new int[10]; ข้อควรระวัง int [] a,b ; a และ b เป็ น Array int a[],b ; a เป็ น Array b ไม่เป็ น Array int [] a , b; a = new int[5]; b = new int[3]; a = b ; a b a[0] b[0] a[1] b[1] a[2] b[2] a[3] a[4] การอ้ างถึงสมาชิกของอะเรย์ โดยใช้ คาสั่ ง for โดยทัว่ ไปเราจะใช้คาสัง่ for ในการอ้างอิงถึงสมาชิกของอะเรย์ที่ตอ้ ง เรี ยกใช้ในคาสัง่ ที่ซ้ ากัน ภาษาจาวากาหนดให้ตวั แปรอะเรย์ทุกตัวมีคุณลักษณะที่ชอื่ length เพื่อ ระบุจานวนสมาชิกของอะเรย์แต่ละตัว ตัวอย่างเช่น int []x = {4,3,5,1,8}; for (int i = 0; i < x.length; i++) { System.out.println(x[i]); } 24/05/60 22 การอ้ างถึงสมาชิกของอะเรย์ โดยใช้ คาสั่ ง for รูปแบบ for (int i = 0; i < อะเรย์ .length; i++) { // คำสั่งในลปู ทีใ่ ช้ อะเรย์ [i] } ตัวอย่ าง double[] scores = { 30, 50, 85, 10, 45 }; for( int i = 0; i < scores.length; i++) { System.out.println(scores[i]); } 24/05/60 23 ตัวอย่ างโปรแกรม public class ForWithArrays { public static void main(String args[]) { int []x; x = new int[4]; for (int i=0; i<x.length; i++) { x[i] = i*2; } System.out.println("x = "+x); for (int i=0; i<x.length; i++) { System.out.println("x["+i+"] = "+x[i]); } } 24/05/60 } 24 การค้นหาค่าใน อะเรย์ จะเป็ นการตรวจสอบค่าในอะเรย์ที่ละ 1 ตาแหน่งว่ามีค่าตรงกับที่เราค้นหาหรื อไม่ โดยจะใช้การค้นตั้งแต่ ตาแหน่ง 0 ถึงตาแหน่งสุ ดท้าย การเรียงลาดับในอะเรย์ ใช้การสลับที่ (swap) ค่าของตาแหน่งในอะเรย์ (คล้ายกับการ เรี ยงลาดับตัวเลขที่ทาในเรื่ องของ if) ซึ่งจะมีลาดับการทางานดังนี้ 1. Array a[ ], int i=0,j=1 สาหรับบอกตาแหน่ง, int temp ใช้ พักค่าข้อมูล 2. เปรี ยบเทียบค่าของ a[i] และ a[j] 3. ถ้าค่าของ a[i] มากกว่า a[j] ให้ temp = a[j] 4. a[j] = a[i] 5. a[i] = temp 6. ปรับค่า j แล้วกลับไปทาข้อสองจนกระทัง่ j มีค่าเท่ากับความยาวของ a[] 7. ปรับค่า j=1 นับค่า i ต่อ ข้อสองจนกระทัง่ i มีค่าเท่ากับความยาวของ a[]1 For-each loop For –each loop (เรี ยกอีกอย่างว่า Enhanced for loop) เป็ นคาสัง่ ทาซ้ าที่ถูกพัฒนาขึ้นใหม่ต้ งั แต่ตวั แปลภาษาจาวาเวอร์ชนั่ 5.0 คาสัง่ ทาซ้ าประเภทนี้ ช่วยให้เราสามารถดึงข้อมูลทั้งหมดในอะเรย์ 24/05/60 27 การอ้ างถึงสมาชิกของอะเรย์ โดยใช้ คาสั่ ง for (แบบที่สอง) รูปแบบ for ( ชนิดข้อมูลที่เก็บในอะเรย์ ตัวแปร : อะเรย์) { // คำสั่งในลูปที่ใช้ ตัวแปร } ** การใช้ for มีขอ้ ดีคือไม่ตอ้ งใช้อินเด็กซ์ ** ตัวอย่ าง double[] scores = { 30, 50, 85, 10, 45 }; for( double s : scores) { System.out.println(s); } 24/05/60 28 class BasicArray { public static void main(String[] args){ final int LIMIT=15, MULTIPLE=10; ้ //ประกาศค่าคงทีส ่ าหรับใชงาน int[] list=new int[LIMIT]; ื่ list จานวน 15 เซล //จองอาร์เรย์ชอ for(int index=0; index<LIMIT; index++) //วนลูป 15 ครัง้ list[index]=index*MULTIPLE; ์ าคูณกับ 10 แล ้วเก็บในเซล //นาค่าอินเด็กซม list[5]=999; //เปลีย ่ นเซลทีห ่ กเป็ น 999 for(int value : list) ื่ list //วนลูปแสดงผลข ้อมูลในอาร์เรย์ชอ System.out.print(value+" "); ข้ อผิดพลาดประเภท ArrayIndexOutOfBoundException การอ้างอิงถึงหมายเลขสมาชิกของอะเรย์ที่ไม่ถูกต้องจะทาให้เกิด ข้อผิดพลาดในตอนรันโปรแกรมโดยโปรแกรมจะส่ งข้อผิดพลาดที่ชื่อ ArrayIndexOutOfBoundException ออกมาในขณะรันโปรแกรม ตัวอย่างเช่น คาสัง่ int []x = {4,3,5,1,8}; การอ้างอิง x[5] จะทาให้เกิดข้อผิดพลาดในตอนรันโปรแกรม 24/05/60 30 class TestArray{ public static void main(String s[]){ int c[]={1,3,5,7,3,8}; for (int i=1;i<=c.length;i++) System.out.println(c[i]); } } อะเรย์ ของข้ อมูลชนิดคลาส ตัวแปรอะเรย์ของข้อมูลชนิดคลาสคือตัวแปรที่ใช้เก็บกลุ่มของ ข้อมูลสมาชิกที่เป็ นออปเจ็คของคลาสใดคลาสหนึ่ง ขั้นตอนการสร้างตัวแปรอะเรย์ของข้อมูลชนิดคลาสจะมี ขั้นตอนคล้ายกับขั้นตอนการสร้างตัวแปรอะเรย์ของข้อมูล ชนิดพื้นฐาน โดยมีข้ นั ตอนต่างๆดังนี้ ประกาศตัวแปรอะเรย์ สร้างและจองเนื้อที่ในหน่วยความจา สร้างออปเจ็คของคลาสให้กบั สมาชิกแต่ละตัวของอะเรย์ 24/05/60 32 การสร้ างอะเรย์ ของข้ อมูลชนิดคลาส สาหรับการสร้างอะเรย์ของข้อมูลชนิดคลาส คาสัง่ new จะจองเนื้อที่ในหน่วยความจาสาหรับเก็บค่าของสมาชิก ของอะเรย์ ซึ่ งจะเป็ นเพียงแค่ตาแหน่งอ้างอิงเท่านั้น ดังนั้นจะต้องมีการเรี ยกใช้คาสัง่ new อีก เพื่อสร้างออปเจ็ค ของคลาสให้กบั สมาชิกแต่ละตัวของอะเรย์ 24/05/60 33 ตัวอย่ างการสร้ างอะเรย์ของข้ อมูลชนิดคลาส 1 2 3 4 Student []s = new Student[3]; s[0] = new Student(“Thana”); s[1] = new Student(“Somchai”); s[2] = new Student(“Somsak”); คาสั่งในบรรทัดที่ 1 เป็ นการประกาศตัวแปรและสร้างอะเรย์ของข้อมูลชนิด คลาส Student ที่มีสมาชิก 3 ตัว คาสั่งในบรรทัดที่ 2-4 เป็ นการสร้างออปเจ็คให้กบั สมาชิกแต่ละตัวของ อะเรย์ ของข้อมูลชนิดคลาส Student ซึ่ งใช้คาสัง่ new ในการเรี ยก Constructor เหมือนกับการสร้างออปเจ็คทัว่ ไป 24/05/60 34 การรวมคาสั่ งในการสร้ างอะเรย์ และสร้ างออปเจ็ค จำกตัวอย่ำงทีแ่ ล้ว Student []s = new Student[3]; s[0] = new Student(“Thana”); s[1] = new Student(“Somchai”); s[2] = new Student(“Somsak”); เรำสำมำรถรวมคำสังที ่ ใ่ ช้ในกำรสร้ำงอะเรย์ของข้อมูลชนิดคลำส และคำสังที ่ ใ่ ช้ ในกำรสร้ำงออปเจ็คให้กบั สมำชิกแต่ละตัวของอะเรย์ได้ดงั นี้ Student []s = { 24/05/60 new Student(“Thana”), new Student(“Somchai”), new Student(“Somsak”)}; 35 การเก็บค่ าของตัวแปรอะเรย์ กรณี อะเรย์ของข้อมูลชนิดคลาส ข้อมูลสมาชิกแต่ละตัว ของอะเรย์จะเก็บตาแหน่งอ้างอิงของหน่วยความจา ซึ่ งจะอ้างอิง ไปถึงข้อมูลของออปเจ็คอีกที ตัวอย่ำง Student s1 = new Student("Somsri"); Student []s = { new Student(“Thana”), new Student(“Somchai”), new Student(“Somsak”)}; 24/05/60 36 รูปแสดงตัวอย่ างการเก็บค่ าในหน่ วยความจา 24/05/60 37 ตัวอย่ างโปรแกรมอะเรย์ ข้อมูลชนิดคลาส public class Student { private String name; public Student(String n) { name = n; } public String getName() { return name; } } 24/05/60 38 ตัวอย่ างโปรแกรมอะเรย์ ข้อมูลชนิดคลาส public class TestClassArrays { public static void main(String args[]) { Student []s = { new Student(“Thana”), new Student(“Somchai”), new Student(“Somsak”)}; for(int i=0; i<s.length; i++) { System.out.print(s[i].getName()+" "); } } } ผลลัพธ์ทไ่ี ด้จำกกำรรันโปรแกรม Thana 24/05/60 Somchai Somsak 39 อะเรย์ สองมิติ การประกาศตัวแปรอะเรย์ที่มีขนาดมากกว่าหนึ่งมิติทาได้โดยการเพิ่ม เครื่ องหมาย [ ] ในแต่ละมิติ รู ปแบบการประกาศตัวแปรอะเรย์สองมิตเิ ป็ นดังนี้ [modifier] dataType [][]variableName; หรือ [modifier] dataType variableName[][]; ตัวอย่างเช่น int [][]x; 24/05/60 40 อะเรย์ สองมิติ รู ปแบบการสร้ำงตัวแปรอะเรย์สองมิตเิ ป็ นดังนี้ variableName = new dataType[row][col]; ตัวอย่างเช่น x = new int[3][4]; รู ปแบบกำรเรียกใช้สมำชิกของอะเรย์สองมิตเิ ป็ นดังนี้ variableName[row_number][col_number]; ตัวอย่างเช่น x[2][3]; 24/05/60 41 อะเรย์ สองมิติ ลักษณะเป็ นตาราง 24/05/60 42 การสร้ างอะเรย์ สองมิติ รูปแบบ ชนิดข้ อมูล[][] ตัวแปร = { อะเรย์ แถวแรก, อะเรย์ แถวที่สอง, ... }; ตัวอย่ าง int[][] table = { { 1, 2, 3, 4},{ 5, 6, 7, 8}, { 9, 10, 11, 12}}; 24/05/60 43 การระบุตาแหน่ งของตัวแปรในอาร์ เรย์ สองมิติ 24/05/60 44 การใช้ งานอาร์ เรย์ สองมิติ ประกาศ int[][] table; จองพื้นที่ table = new int[3][4]; อ้างถึง 24/05/60 table[0][0] = 3; table[0][1] = 5; table[0][2] = 8; table[0][3] = 7; 45 แต่ ละแถวของอะเรย์ สองมิตไิ ม่ จาเป็ นต้ องมีขนาดเท่ ากัน 24/05/60 46 ตัวอย่ างอาร์ เรย์ ที่แต่ ละแถวมีขนาดไม่ เท่ ากัน int[][] twoD = { { 1, { 4, { 8, 2, 3}, 5, 6, 7}, 9, 10, 11, 12}}; System.out.println(twoD[1][2]); 24/05/60 47 LOGO อะเรย์ สามมิติ 24/05/60 48 อะเรย์ สามมิติ 24/05/60 49 การระบุตาแหน่ งของตัวแปรในอาร์ เรย์ สามมิติ ใช้อินเด็กซ์ 3 ตัว รู ปแบบ อำร์ เรย์ [แผ่ น][แถว][คอลัมน์ ] 24/05/60 50 ตัวอย่ างการระบุตาแหน่ งของตัวแปรในอาร์ เรย์ สามมิติ int[][][] array = { { {3,5,8,7}, {1,2,6,4}, {8,4,1,2} }, { {1,5,8,4}, {5,6,2,3}, {8,7,5,0} อยู่ตาแหน่ งใดในอาร์ เรย์ }, { {7,8,3,4}, {2,1,9,2}, {8,4,5,6} } }; System.out.println(array[1][2][3]); 24/05/60 51 LOGO คลาส Arrays 24/05/60 52 เมธอดในคลาส java.util.Arrays sort() ใช้เพื่อเรี ยงลาดับข้อมูลในอาร์เรย์ binarySearch() ใช้คน้ หาข้อมูลในอาร์เรย์ ผลของการค้นหาคืออินเด็กซ์(ตาแหน่ง)ในอาร์เรย์ ก่อนที่จะค้นหาเราต้องเรี ยงลาดับข้อมูลเสี ยก่อน 24/05/60 53 การเรียงจานวนเต็มโดยใช้ คลาส Arrays java.util.Arrays.sort(score); 24/05/60 54 ตัวอย่ างการเรียงลาดับจานวนเต็ม int[] score={45,5,87,13,24}; Arrays.sort(score); หรื อ int[] score={45,5,87,13,24}; java.util.Arrays.sort(score); 24/05/60 55 การเรียงวัตถุโดยใช้ คลาส Arrays {"Jamies", "Amy", "Leo", "James"} import java.util.Arrays; ... Arrays.sort(names); {"Amy", "James", "Jamies", "Leo"} 24/05/60 56 การเรียงวัตถุโดยใช้ คลาส Arrays import java.util.Arrays; Import คลาสอาร์ เรย์เข้ ามาใช้ public class SortString { public static void main(String[] args) { String[] names = { "Jamies", "Amy", "Leo", "James" }; Arrays.sort(names); System.out.println(Arrays.asList(names)); } } 24/05/60 พิมพ์ชื่อทั้งหมดในอาร์ เรย์ 57 การเรียงชื่ อภาษาไทย (แบบผิด) Arrays.sort(names); วัตถุในคลาส String ไม่ ร้ ู จักวิธีการ เปรียบเทียบคาในภาษาไทย ??!? 24/05/60 58 การเรียงชื่ อภาษาไทย String[] names = { "อร", "เป็ ด", "กนก", "ป๊ อบ", "ไก่" }; java.text.Collator myCollator = java.text.Collator.getInstance(); Arrays.sort(names, myCollator); สร้ างวัตถุทรี่ ้ ู จักการเรียงคาในภาษาไทย System.out.println(Arrays.asList(names)); [กนก, ไก่, ป๊ อบ, เป็ ด, อร] 24/05/60 59 การค้ นหาโดยใช้ คลาส Arrays เมธอด binarySearch( ) ถ้าพบ จะส่งตำแหน่งที่พบกลับมำให้ ถ้าไม่พบ จะส่งค่ำติดลบมำให้ 24/05/60 60 ตัวอย่ างการค้ นหา int[] id = {51, 3, 81, 20, 14}; Arrays.sort(id); int index = Arrays.binarySearch(id, 51); System.out.println(index); 24/05/60 61 สรุปเนื้อหาของบท โดยทัว่ ไปโครงสร้างข้อมูลแบบอะเรย์จะถูกนามาใช้เมื่อต้องการเก็บข้อมูล ชนิดเดียวกันหลายค่า แต่ใช้ตวั แปรอะเรย์ตวั เดียวกัน อะเรย์แบ่งออกได้เป็ น 2 ประเภท คืออะเรย์ของข้อมูลชนิดพื้นฐานและอะเรย์ ของข้อมูลชนิดคลาส ขั้นตอนในการสร้างอะเรย์ของข้อมูลชนิดพื้นฐานคือ การประกาศตัวแปร อะเรย์ และการสร้างอะเรย์ ขั้นตอนในการสร้างอะเรย์ของข้อมูลชนิดคลาสคือ การประกาศตัวแปรอะเรย์ การสร้างอะเรย์ และการสร้างออปเจ็คให้กบั สมาชิกแต่ละตัวของอะเรย์ 24/05/60 62 สรุปเนื้อหาของบท ขนาดของอะเรย์ สามารถหาได้จากคุณลักษณะที่ชื่อว่า length คาสัง่ for นิยมนามาใช้ในการอ้างถึงสมาชิกของอะเรย์ เราสามารถสร้างอะเรย์หลายมิติได้ โดยจานวนเครื่ องหมาย [ ] บ่งบอกถึงจานวนมิติของอะเรย์ คลาส java.util.Arrays มีเมธอดที่ช่วยในการประมวลผลอาร์เรย์ เช่น การ เรี ยงลาดับข้อมูล และการค้นหา การเรี ยงลาดับข้อมูลใช้เมธอด sort() การค้นหาใช้เมธอด binarySearch() ก่อนที่จะค้นหาต้อง sort() ก่อน 24/05/60 63 แบบฝึ กทักษะการเขียนโปรแกรม 1. สร้างอาร์เรย์เก็บข้อความขนาด 2 ตัว โดยตาแหน่งแรกให้เก็บชื่อ ตาแหน่ง ที่สองนามสกุลของนักศึกษา และแสดงค่าอาร์เรย์น้ นั 2. เขียนโปรแกรมพิมพ์ค่าในอาร์เรย์ต่อไปนี้ {10,20,30,40,50} 3. จากข้อ 2 ให้แสดงค่าในอาร์เรย์จากขวาสุ ดไปซ้ายสุ ด 4. เขียนโปรแกรมเรี ยงลาดับค่าในอาร์เรย์ {20,10,40,50,30} จากน้อยไปมาก 5. หาผลรวมของอาร์เรย์ {20,10,40,50,30} 24/05/60 64 แบบทดสอบ จงเขียนคาสั่ งเพื่อประกาศตัวแปรอาร์ เรย์ ตามคาอธิบายในแต่ ละข้ อต่ อไปนี้ 1. ตัวแปรอาร์เรย์ 1 มิติชื่อ num เพื่อเก็บจานวนเต็ม 12 จานวน และกาหนดให้มีค่า เริ่ มต้นดังนี้คือ 1,4,7,10,13,16,19,22,25,28,31,34 2. ตัวแปรอาร์เรย์ 2 มิติชื่อ x ขนาด 3x4 เพื่อเก็บตัวเลขทศนิยม 3. ตัวแปรอาร์เรย์ 1 มิติชื่อ str เพื่อเก็บข้อความ uttaradit 4. ตัวแปรอาร์เรย์ชื่อ account เพื่อเก็บ ข้อมูลทั้งรายรับและรายจ่ายประจาปี โดยแจก แจงเป็ นเดือนตั้งแต่เดือนที่ 1 ถึงเดือนที่ 12 5. ตัวแปรอาร์เรย์ชื่อ volumn เพื่อเก็บข้อมูลยอดขายของพนักงานจานวน 20 คน โดย แจกแจงเป็ นไตรมาสที่ 1 ถึงไตรมาสที่ 3 6. ตัวแปรอาร์เรย์ชื่อ vowel เพื่อเก็บตัวอักษรที่เป็ นสระ A,E,I,O,U 65 แบบทดสอบ 7. กาหนดอาร์ เรย์ต่อไปนี้ int[] num={ {1,2,3}, {4,5,6}, {7,8,9} } เลข 5 อยูต่ าแหน่งใดในอาร์ เรย์ 24/05/60 66 LOGO 24/05/60 67