C++第二堂社課

二維陣列

二維陣列

一維陣列如果是一排箱子

那二維陣列就是好多疊一排的箱子

 二維陣列 row and column

就是排跟列的組合

二維陣列

第[0][0]格
第[i-1][j-1]格

第i排

第j格

a[i][j];

二維陣列

a[0][0]
a[2][1]

a[3][2]=

二維陣列

for(int i = 0; i<n; i++){
//跑直排
	for(int j = 0; j<n; j++){
	//跑格數
	}
}

二維陣列

#include<iostream>
using namespace std;
int main(){
	//創立
	int a[10][10] = {};
    //輸入
    for(int i = 0; i<10; i++){
    	for(int j = 0; j<10; j++){
        	cin>>a[i][j];
        }
    }
    //輸出
    for(int i = 0; i<10; i++){
    	for(int j = 0; j<10; j++){
        	cout<<a[i][j];
        }
    }
}

二維陣列

運用二維陣列試在3*3,5*5,7*7的二維陣列依序從1填入數字

二維陣列

運用二維陣列試在3*3,5*5,7*7的二維陣列依序從1填入數字

#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    int a[10][10];
    int cnt = 1;
    for(int i = 0; i<n; i++){
        for(int j = 0; j<n; j++){
            a[i][j] = cnt;
            cout<<a[i][j]<<" ";
            cnt++;
        }
        cout<<endl;
    }
}

二維陣列

使用

二維陣列  判斷

a[i-1][j-1] a[i-1][j] a[i-1][j+1]
a[i][j-1] a[i][j] a[i][j+1]
a[i+1][j-1] a[i+1][j] a[i+1][j+1]

a122: 地頭蛇

二維陣列 設立圍牆

設立圍牆的作用在於

某些時候在二維陣列判斷容易超出範圍

因此要在外圈設立一圈題目不會使用到的數字做為圍牆

二維陣列 設立圍牆

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

二維陣列 設立圍牆

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

deck

By CMIOC 29

deck

  • 105