二維陣列

廖姸惁

複習一維陣列

int a[3] = {10, 25, 30}

陣列型態

陣列名稱

陣列大小

值(不一定要設)

流浪馬戲團想統計白會長這禮拜遊戲的平均通關分數,請幫他們寫個程式來加速他們的計算吧!

例題:

白會長

圖源wb:梨乖酥

答案:

#include <iostream>
using namespace std;

int main() {
    int score[5];
    int sum = 0;
	
    for (int i = 0; i < 5; i++) {
        cin >> score[i];
        sum += score[i];
    }

    double avg = sum / 5.0;
    cout << "平均分數是:" << avg << endl;

    return 0;
}

定義及宣告

int a[2][3] = {{10, 25, 30},{20, 15, 35}}

陣列型態

陣列名稱

陣列大小

值(不一定要設)

定義及宣告

int a[2][3] = {{10, 25, 30},{20, 15, 35}}

0

1  

2

0

1

10

25

20

15

30

35

定義及宣告

int a[2][3] = {{10, 25, 30}{20, 15, 35}}

0

1  

2

0

1

10

25

20

15

30

35

a[0][0]=10

a[0][1]=25

a[0][2]=30

a[1][0]=20

a[1][1]=15

a[1][2]=35

賦值

#include <iostream>
using namespace std;
int main(){

    int a[2][3];
    a[0][0]=10;
    a[0][1]=25;
    a[0][2]=30;
    a[1][0]=20;
    a[1][1]=15;
    a[1][2]=35;
    
    return 0;
}
#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];
            
    return 0;
}

指定

迴圈

有兩種方式

輸入

#include <iostream>
using namespace std;
int main(){
    int n,m;
    cin >> n >> m;
    int a[n][m];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin>>a[i][j];
    return 0;
}

輸出

#include <iostream>
using namespace std;
int main(){
  int arr[2][3] = 
  {
  	{9,8,7},
    {6,5,4}
  };
  for(int i=0;i<2;i++){
    for(int j=0;j<3;j++){
      cout<<arr[i][j];
    }
    cout<<endl;
  }
  return 0;
}

9 8 7

6 5 4

例題:

最近淀治經常去蕾潔打工的地方跟她一起學習新的單字,他們想計算過去他們總共學習了多少新單字,快來一起幫他們算算看吧!

題目說明:輸入兩個同樣大小的 2×2 矩陣,輸出它們的和。

(其實就以上述情況來說,一維陣列也可以處理這種情況,但我們就練習一下二維陣列,不用管敘事的部分。)

淀治:

蕾潔:

2 3

5 1

4 2

3 6

總和:

6 5

8 7

答案:

#include <iostream>
using namespace std;

int main() {
    int A[2][2], B[2][2], C[2][2];

    for (int i = 0; i < 2; i++)
        for (int j = 0; j < 2; j++)
            cin >> A[i][j];

    for (int i = 0; i < 2; i++)
        for (int j = 0; j < 2; j++)
            cin >> B[i][j];

    for (int i = 0; i < 2; i++)
        for (int j = 0; j < 2; j++)
            C[i][j] = A[i][j] + B[i][j];

    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 2; j++)
            cout << C[i][j] << " ";
        cout << endl;
    }
}

Kahoot!

二維陣列

By ys

二維陣列

  • 8