一維陣列

Array

-葉子齊-

who am i

  • 姓名:葉子齊
  • 職位:副社長兼教學兼美宣
  • 綽號:葉子

陣列定義

定義

  • 陣列是多個相同資料型別的變數綁在㇐起,
    佔有連續的記憶體,可以利用索引值(index)
    存取陣列元素
  • 用來儲存資料的格子

什麼是一維陣列

 同樣是儲存5筆資料…

  • This is 宣告變數
int a1=50, a2=10, a3=25, a4=30, a5=1;

50

10

25

30

1

a1

a2

a3

a4

a5

什麼是一維陣列

 同樣是儲存5筆資料…

  • This is 宣告一維陣列
int a[5]={50,10,25,30,1};

a

50

a[0]

10

a[1]

25

a[2]

30

a[3]

1

a[4]

什麼是一維陣列

全班40個人的成績,可以這樣宣告

以索引值來存取這些資料,索引值由0開始

 int score[40];
索引值 0 1 2 ... 38 39
score[0] score[1] score[2] ... score[38] score[39]
變數值 85 90 59 ... 65 75

陣列操作

宣告

int a[5] = {50, 10, 25, 30, 1};

陣列型態

陣列名稱

陣列大小

內容物(不一定要設)

賦值

(一)

[0] [1] [2] [3] [4]
50 10 25 30 1

a

int a[5] = {50, 10, 25, 30, 1};
int b[3] = {10};

宣告的同時賦值

陣列型態 陣列名稱[陣列大小] = {值};

[0] [1] [2]
10 0 0

b

沒有特別賦值時,為0

賦值

(二)

[0] [1] [2] [3]
100 200 300 400

a

int a[4];
a[0] = 100;
a[1] = 200;
a[2] = 300;
a[3] = 400;

陣列名稱[索引值] = 值;

賦值

(三)

[0] [1] [2]
55 55 55

a

 int a[3];
 for(int i=0 ;i<3 ;i++){
 	a[i] = 55;
 }

利用迴圈

輸入 & 輸出

(一)單格

int a[3];
cin>>a[0]>>a[1]>>a[2];

輸入

int a[3] = {7,8,9};
cout<<a[0]<<a[1]<<a[2];

輸出

[0] [1] [2]
10 20 30

a

輸入: 10 20 30

輸出:789

輸入 & 輸出

(二)利用迴圈

int a[3];
for(int i=0 ;i<3 ;i++){
	cin>>a[i];
}

輸入

int a[3] = {7,8,9};
for(int i=0 ;i<3 ;i++){
	cout<<a[i]<<' ';
}

輸出

[0] [1] [2]
10 20 30

a

輸入: 10 20 30

輸出:7 8 9

實作

實作

實作

#include <iostream>
using namespace std;
int main()
{
    int N;cin>>N;
    int array[N];
    
    for(int i=0 ;i<N ;i++){ //輸入
        cin>>array[i];
    }
    
    for(int j=N-1 ;j>=0 ;j--){ //輸出
        cout<<array[j]<<' ';
    }

    return 0;
}

關於陣列

int N;
cin>>N;
int array[N];
/*
進行對該陣列的操作
*/

在開陣列大小時,盡量避免把「沒有賦值過的變數」設為陣列大小,有可能會報錯

int N;
int array[N];
/*
進行對該陣列的操作
*/
cin>>N;

錯誤示範

正確示範

實作

實作

#include <iostream>
using namespace std;
int main()
{
    int N;cin>>N;
    int array[N];
    int max = 0;
    
    for(int i=0 ;i<N ;i++){ 
        cin>>array[i];
        
        if(array[i] > max)
            max = array[i];
        
        //如果輸入>原本的最大數,那麼原本最大數(max)就變成輸入之值
    }
    
    cout<<max;
   
    return 0;
}

一維陣列

By strange_swing

一維陣列

  • 136