หลักการโปรแกรม 1 Lecture 12: อาร์เรย์หนึ่งมิติ
ตัวแปรแถวลำดับคืออะไร ตัวแปรแถวลำดับ ชุดของตัวแปรหลายๆ ตัวที่มีชนิดเดียวกัน และมีชื่อ เรียกเดียวกัน การอ้างถึงตัวแปรแต่ละตัวทำโดยอ้างถึงชื่อและ ตำแหน่ง (index) ของตัวแปร int … … score ชื่อ 012 … 8 … ตำแหน่ง
ใช้ตัวแปรแถวลำดับทำอะไร เหมือนตัวแปรทั่วไป คือ เก็บข้อมูลโดยที่ข้อมูลที่เก็บจะ เป็นชุด ใช้แทนสิ่งที่คล้ายๆ กัน มีชนิดข้อมูลเหมือนกัน นำไปใช้ด้วยวิธีคล้ายๆ กัน ตัวอย่าง รหัสนิสิตของนิสิตในห้องนี้ คะแนนสอบวิชา ของนิสิตในห้องนี้ เกรดวิชา ของนิสิตในห้องนี้
ตัวอย่าง รหัสนิสิตของนิสิตในห้องนี้ ( มีนิสิตไม่เกิน 200 คน ) int id[200]; คะแนนสอบวิชา ของนิสิตในห้องนี้ (≤ 200 คน ) float score[200];
ตัวอย่าง double values[] = { 32, 54, 67.5, 29, 35, 80, 115, 44.5, 100, 65 };
Array Syntax
การเข้าถึงค่าใน array double values[10];... cout << values[4] << endl; ผลลัพธ์ที่แสดงบน หน้าจอ คือ 35.0.
การกำหนดค่าใน array values[4] = 17.7;
การกำหนดค่าใน array values[4] = 17.7;
สายอักขระ สายอักขระ (string) คือกลุ่มของตัวอักขระ ที่เรียงต่อกัน ตัวอย่าง char department[5] = “Math”; Math\0 department [0] [1] [2] [3] [4]
ตัวอย่างการประกาศตัวแปรสำหรับ สายอักขระ
ฟังก์ชันหาขนาดของสายอักขระ : strlen( ) #include using namespace std; int main() { int x; char str1[20]; cout << “Please enter the first string: ”; cin >> str1; x = strlen(str1); cout << “The length of this string: ” << x; return 0; } Sample output: Please enter the first string: Hello The length of this string: 5
การค้นข้อมูลใน array เมื่อมีการเก็บกลุ่มข้อมูล ก็ต้องมีการค้นหาข้อมูล สมมุติให้ โปรแกรมนี้ผู้ใช้จะบอกข้อมูลที่ต้องการ ค้นหา จากนั้นโปรแกรมจะแสดงผลลัพธ์ ดังนี้ ถ้าพบข้อมูลดังกล่าวในแถวอาเรย์ จะแจ้งว่าข้อมูลอยู่ ตำแหน่งไหน ถ้าไม่พบข้อมูลในแถวอาเรย์นี้ จะคืนค่าเป็น -1 ตัวอย่าง ต้องการค้นหา 6 จากอาเรย์ a a คำตอบ คือ 1
การค้นข้อมูลใน array ถ้าเลขที่ต้องการหามีหลายตัว โปรแกรมนี้จะแสดงตำแหน่งใด ตำแหน่งแรก หรือ ตำแหน่งสุดท้าย ถ้าต้องการให้แสดงตำแหน่งแรก ที่พบตัวเลขดังกล่าว ต้องแก้ไขโปรแกรมนี้อย่างไร a int find = 6; int index = -1; for(int i = 0; i < 5 ; i++ ) { if ( a[i] == find ) { index = i; } } cout << index;