# 一維陣列
#### 2018資訊之芽 語法班
###### 葛家聿
---
## 陣列的用處
- 迴圈做不到的事情
```cpp
std::cin >> a1 >> a2 ... >> a100;
std::cin >> b1 >> b2 ... >> b100;
std::cout << a1+b1 << a2+b2 ... << a100+b100;
```
----
## 重複的動作 ≠ 更多的變數
---
## 陣列的用法
- 一大條相同型態的變數
- 先宣告才能使用
- 通常會配合迴圈服用
```cpp
int a[6], b[6];
std::cin >> a[0] >> a[1] ... >> a[5]; //從零開始
std::cin >> b[0] >> b[1] ... >> b[5];
std::cout << a[0]+b[0] << a[1]+b[1] ... << a[5]+b[5] << std::endl;
```
----
## 視覺化教學
https://goo.gl/XKDKTF
----
- 宣告
```cpp
//型態 陣列名[陣列大小];
int a[100];
int a[100] = {1, 2, 3}; //沒指定滿大小,後面會自動補零
bool b[] = {1, 0, 1}; //沒指定大小,會自動計算大小
```
----
- 存取
```cpp
//陣列名[索引值];
int a[100]; //可以用 a[0] ~ a[99]
std::cout << a[0];
std::cin >> a[1];
a[2] = a[2] * 2;
int i = 3;
a[i] = i;
a[a[i]] = a[i];
```
---
## 練習
[我愛零分](https://neoj.sprout.tw/problem/294/)
{"metaMigratedAt":"2023-06-14T13:02:59.574Z","metaMigratedFrom":"Content","title":"一維陣列","breaks":true,"contributors":"[]"}