Initializing Arrays
Arrays คือ..?
Arrays (อาร์เรย์) คือ ชุดข้อมูล โดยชนิดข้อมูลในชุดจะต้องเป็นชนิดเดียวกัน เช่น int , char , float เป็นต้น การเก็บข้อมูลแบบนี้นั้น ทำให้ง่ายในการตั้งชื่อตัวแปรจำนวนมาก เข้าถึงข้อมูลได้เร็ว แต่ถ้าเก็บข้อมูลไม่ครบจะทำให้เสียเนื้อที่หน่วยความจำโดยไม่จำเป็น
ประเภทของ Array มีกี่ชนิด..?
มี3ชนิด ดังนี้
1.ตัวแปรชุด 1 มิติ (one dimension arrays หรือ single dimension arrays) เป็นตัวแปรชุดที่มีตัวเลขแสดงขนาดเป็นเลขตัวเดียว โดยมีรูปแบบดังนี้
ชนิดข้อมูล ชื่อตัวแปร[จำนวนสมาชิก]
เช่น int a[5]; หมายถึง a เป็นอาร์เรย์ที่มี 5 สมาชิก โดยสมาชิกทุกตัวเก็บค่าเป็นจำนวนเต็ม
- ตัวแปรชุดหลายมิติ (multi-dimension arrays) เป็นตัวแปรชุดที่ชื่อมีตัวเลขแสดงขนาดเป็นตัวเลขหลายตัว ที่นิยมใช้กันมี 2 มิติ กับ 3 มิติ
2.1 ตัวแปรชุด 2 มิติ มีเลขแสดงขนาด 2 ตัวโดยตัวแรกจะเป็นตัวเลขที่แสดงตำแหน่งแถว และตัวที่สองจะเป็นตัวเลขแสดงตำแหน่งคอลัมน์ โดยมีรูปแบบดังนี้
ชนิดข้อมูล ชื่อตัวแปร [จำนวนสมาชิกตัวที่ 1] [จำนวนสมาชิกตัวที่ 2];
เช่น int num[3][4]; หมายความว่า num เป็นอาร์เรย์ 2 มิติ ที่มี 3 แถว 4 คอลัมน์ เก็บค่าเป็นจำนวนเต็ม
2.2 ตัวแปรชุด 3 มิติ มีเลขแสดงขนาด 3 ตัว โดยตัวแรกจะเป็นตัวเลขที่แสดงตำแหน่งความลึก ตัวที่สองจะเป็นตัวเลขแสดงตำแหน่งแถว และตัวที่สามจะเป็นตัวเลขแสดงตำแหน่งคอลัมน์ และ โดยมีรูปแบบดังนี้
ชนิดข้อมูล ชื่อตัวแปร [จำนวนสมาชิกตัวที่ 1] [จำนวนสมาชิกตัวที่ 2] [จำนวนสมาชิกตัวที่ 3
Credit: http://kanokwan.sru.ac.th/e-learning/07.php
โดยเราจะทำarrys แบบ 1มิติ โดยมีการใช้คำสั่ง setw(จำนวนช่อง) เช่น cout<<setw(5)<<x;
โดยsetw(5) คือ _ _ _ _ _ ( _ คือ ช่องว่าง) โดยเราจะใส่ค่าxไว้ในช่องสุดท้าย ดังนั้น จะได้outputเป็น _ _ _ _ x
โดยจะเห็นว่า ค่าoutput ของ junk จะได้เป็น –858993460 เนื่องจากเราไม่ได้กำหนดค่าข้อมูลใน junk นั่นเอง
Source Code :
#include “stdafx.h” //เป็นการimport คำสั่ง
#include <iostream> //เป็นการimport คำสั่ง
#include <iomanip> //เป็นการimport คำสั่ง
using std::cout;
using std::endl;
using std::setw;
int main()
{
int value[5]={1,2,3}; //เป็นการประกาศค่าarraysชนิด int แบบ 1มิติ โดยกำหนดให้มีค่า 1,2,3
int junk[5]; //เป็นการประกาศค่าarraysชนิด int แบบ 1มิติ โดยไม่มีการกำหนดค่า
cout<<endl; //ขึ้นบรรทัดใหม่
for(int i=0;i<5;i++){ //กำหนดให้เงื่อนไขเป็น i<5 โดยให้ค่าi เรื่มต้นที่ 0 และให้เพิ่มค่า i+1 เมื่อทำการวนลูปเสร็จ
cout<<setw(12)<<value[i]; //กำหนดช่องให้เป็น12 และใส่ค่าvalue[i] ในช่องสุดท้าย
}
cout<<endl; //ขึ้นบรรทัดใหม่
for(int i=0;i<5;i++){
cout<<setw(12)<<junk[i]; //กำหนดช่องให้เป็น12 และใส่ค่าjunk[i] ในช่องสุดท้าย
}
cout<<endl; //ขึ้นบรรทัดใหม่
system (“pause”); //ทำให้โปรแกรมหยุดทำงาน
return 0;
}
โดยจะเห็นว่า ค่าoutput ของ junk จะได้เป็น –858993460 เนื่องจากเราไม่ได้กำหนดค่าข้อมูลใน junk นั่นเอง
ผู้พัฒนา
นางสาวศิริพร จตุรภุช
นางสาววรณัน รักสนิท
นางสาวรัชนีวรรณ กอวิรัตน์
นางสาวรสรินทร์ พนิตวงศ์