陣列Array
一個你打code過程中很常接觸到的東西
為什麼需要陣列
-
儲存多個同型態的資料
為什麼需要陣列
陣列種類
-
一維
-
二維
-
三維
為什麼需要陣列
-
儲存多個同型態的資料
為什麼需要陣列
陣列種類
-
一維
-
二維
-
三維
線
面
體
一維陣列
什麼是一維陣列

這是一個int型號的格子
裡面可以放一個整數資料
什麼是一維陣列


這是一個櫃子
裡面有三個格子
可以放三個整數資料
什麼是一維陣列

每格都能放一個資料
格數不能任意變大
第一個格子編號為0
資料型態與設定陣列的型態一樣
如何宣告
int a[3] = { 1 , 2 , 3 } ;
變數型態
空間數
變數名稱
內容物
如何賦值
#include <iostream>
using namespace std;
int main(){
int a[3];
for(int i=0;i<3;i++){
a[i]=i+1;
}
...
}a[0]=1,a[1]=2,a[2]=3
#include <iostream>
using namespace std;
int main(){
int a[3];
//賦予單一格子值
a[0]=1;
//為所有格子都賦值
for(int i=0;i<3;i++){
a[i]=i+1;
}
...
}如何賦值
#include <iostream>
using namespace std;
int main(){
int a[3];
//賦予單一格子值
a[0]=1;
//為所有格子都賦值
for(int i=0;i<3;i++){
a[i]=i+1;
}
...
}a[0] = 1 , a[1] = 2 , a[2] = 3
用迴圈輸出
只輸出a
#include <iostream>
usung namespace std;
int main(){
int a[3]={1,2,3};
//輸出陣列裡的單一資料
cout<<a[2]<<endl;
//輸出陣列裡的所有資料
for(int i=0;i<3;i++){
cout<<a[i]<<endl;
}
}
//3
//1
//2
//3#include <iostream>
using namespace std;
int main(){
int a[3]={1,2,3};
cout<<a<<endl;
}
//0x7ffe6119faac如何在陣列裡放入你要的值
也就是cin跟陣列的結合
#include <iostream>
using namespace std;
int main(){
int a[3];
for(int i=0;i<3;i++){
cin>>a[i];
}
for(int i=0;i<3;i++){
cout<<a[i]<<endl;
}
}
//cin: 6 8 9
//6
//8
//9二維陣列
什麼是二維陣列

這是一個櫃子
他代表一維陣列
什麼是二維陣列


這是兩個櫃子
裡面各有三格
可以放3*2=6個資料
什麼是二維陣列


每格都能放一個資料
編號都從0開始
基本跟一維一樣
如何宣告
int a[2][3] = { { 1 , 2 , 3 } , { 4 , 5 , 6 } } ;
變數型態
變數名稱
共幾行
共幾列
第一列裡的數字
第二列裡的數字
如何賦值
#include <iostream>
using namespace std;
int main(){
int a[2][3];
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
a[i][j]=i+j+1;
}
}
...
}如何賦值
#include <iostream>
using namespace std;
int main(){
int a[2][3];
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
a[i][j]=i+j+1;
}
}
...
}a[0][0] = 1 , a[0][1] = 2 , a[0][2] = 3
a[1][0] = 2 , a[1][1] = 3 , a[1][2] = 4
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=0
j=0
cout:
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=0
j=0
cout:
0
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=0
j=1
cout:
0
1
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=0
j=2
cout:
0
1
2
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=0
j=3
cout:
0
1
2
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=0
j=3
cout:
0
1
2
不符合j<3
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=1
j=0
cout:
0
1
2
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=1
j=0
cout:
0
1
2
1
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=1
j=1
cout:
0
1
2
1
1
2
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=1
j=2
cout:
0
1
2
1
2
3
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=1
j=3
cout:
0
1
2
1
2
3
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=1
j=3
cout:
0
1
2
1
2
3
不符合j<3
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=2
j=0
cout:
0
1
2
1
2
3
複習巢狀迴圈!
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<i+j<<" ";
}
cout<<endl;
}i=2
j=0
cout:
0
1
2
1
2
3
不符合i<2
輸出方法跟輸入一樣
都要用巢狀迴圈喔!
示範如何在二維陣列裡塞入你想要的值
#include <iostream>
using namespace std;
int main(){
int a[2][3];
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cin>>a[i][j];
}
}
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
a[i][j]=a[i][j]+1;
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
//cin: 1 2 3
// 4 5 6
//2 3 4
//5 6 7補充:三維陣列
什麼是三維陣列




<a[2][2][3]
這裡是兩排的兩個櫃子
每個格子裡都有3個格子
三維陣列統整
- 用法和注意事項跟前面的一樣
- 賦值和輸出要用三層迴圈
社內賽!!
考到下課喔~

array
By problemsolvemaster_kaitochiang
array
- 146