一維陣列(One Dimension Array):是由一組 相同資料型態(例如:int )的變數集合所組成。(例如:單次小考成績單 ...)
二維陣列(Two Dimension Array):是由多個 相同資料【型態】與【大小】的 一維陣列 所組合而成。(例如:月考多科成績單 ...)
二維陣列(Two Dimension Array)宣告:資料型態 陣列名稱[列的大小][行的大小] (例如: int score[35][5] , 其中 int 為資料型態,score 為陣列名稱,35 為列的大小(學生人數),5為行的大小(五科成績分數)。
二維陣列 score 有 35組一維陣列,分別為 score [0][ ]、 score [1][ ]、 score [2][ ]、... ... score [33][ ]、 score [34][ ] ,列的索引 為 0~34
二維陣列 每組一維陣列 各有 5個元素,例如:第一組陣列 score [0][0]、 score [0][1]、 score [0][2]、 score [0][3]、 score [0][4] ,行的索引 為 0~4
二維陣列(Two Dimension Array)初始化:陣列宣告後,元素可能為不可預知的資料,所以必須事先設定為特定的資料值。
int a[3][4]= { { 1, 2, 3, 4 } , { 5, 6, 7, 8 } , { 2, 4, 6, 8 } }
乘法表是數學中用於定義一個數系中的乘法運算,九九乘法表就是教授小學生乘法運算時所使用,是一個表格,其各列和各行以要相乘的數開頭,表格中的每個元素儲存格中的數則是該單元格所在的 列、行 開頭的數的乘積。
#include <iostream> // 引入 輸入輸出指令(函數)標頭檔
using namespace std; // 省略 名稱空間 std的簡寫方式
int main() { ... ... } // 主程式(函數)範圍
int table[20][20]; // 宣告二維陣列( 儲存最多 20*20 共20組一維陣列,每組一維陣列有20個元素)
int row,col; // 宣告二維陣列變數( 列 row、行 col 數目 )
int i,j; // 宣告巢狀迴圈 i,j 變數(char:字元、int:整數、double:浮點數、bool:布林值)
// 邏輯運算子(&& 而且、 || 或者), 關係運算子(== 相等、!= 不相等、>= 大於等於、<= 小於等於)
while(1==1) { // 外層重複 迴圈 while( 1==1 無窮執行 )
cout << " 請輸入乘法表列數(1-20):"; // 外層重複 迴圈 while 輸出字串(使用雙引號)到螢幕
cin >> row; // 外層重複 迴圈 while 輸入數字 到 變數 row
cout << " 產生 " << row << "x" << col << " 乘法表" << endl;
for(i=1;i<row;i=i+1) { // 中層重複 迴圈 for 控制列 row
for(j=0;j<col;j=j+1) { // 內層重複 迴圈 for 控制行 col
table[i][j]=(i+1)*table[0][j]; // 內層重複 迴圈 產生 row* col 乘法表 儲存格元素
cout << (i+1) << "*" << (j+1) << endl; // 內層重複 迴圈 顯示 row*col 產生過程
} // 內層重複 迴圈 for} 結束
} // 中層重複 迴圈 for} 結束
cout << " 顯示 " << row << "x" << col << " 乘法表" << endl;
cout << " ";
for(j=0;j<col;j=j+1) {
if(j<9) {
cout << " " << j+1;
} else if(j<99) {
cout << " " << j+1;
} else {
cout << " " << j+1;
}
}
} // 外層重複 迴圈 while } 結束
system("pause"); // 程式暫停指令
#include <stdlib.h> 引入 程式暫停指令 標頭檔
擴散矩陣是一種類似石頭丟入池塘,產生漣漪的概念(如下圖),最左上角的數值為 1,逐漸向右下方進行擴散。 請先輸入 列數( row ) 行數 ( col ) ;利用重複巢狀迴圈 for 指令,再使用選擇判斷 if 指令產生正確數值,儲存於二維陣列 table[ ][ ],最後再顯示於螢幕上。
楊輝三角形,又稱帕斯卡三角形、巴斯卡三角形,是二項式係數的一種寫法,形狀類似三角形(如下圖)。巴斯卡三角形第 n 層(頂層稱第 0 層,第 1 列,第 n 層即第 n+1 列,此處正好對應於二項式 (a+b)^n 所展開的係數。例如:第二層 1 2 1 是冪指數為 2 的二項式 (a+b)^2 ,所展開後形式 a^2+2ab+b^2 的係數。 請先輸入 Pascal 三角形高度( high ) ;利用重複巢狀迴圈 for 指令,使用正確的運算思維邏輯計算( 加法 )正確數值,儲存於二維陣列 table[ ][ ],最後再顯示於螢幕上。