二維陣列
(不管啦 它是矩陣啦矩陣)
一維陣列(複習)
陣列值型別 陣列名稱[儲存容量]={值}
int arr [5] ={ 0 }
{1,2,3,4,5}
#include <iostream>
using namespace std;
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
for(int i=0;i<10;i++)
cout<<a[i]<<" ";
}cout<<a;
練習題
今天公關吱吱想要選出四校分別誰是其中最怪的怪人,她依四校幹部編排順序,幫他們依序標示出怪人指數,請輸出四校分別最怪的人?
輸入說明
第一行有一個正整數n
第二行有個n個字串 Ai
第三行有個n個整數 Bi
1<=n<=10, 0<=Bi<=10
輸出說明
輸出名字
練習題
今天公關吱吱想要選出四校分別誰是其中最怪的怪人,她依四校幹位編排順序,幫他們依序標示出怪人指數,請輸出四校分別最怪的人?
範例輸入#1
7
cy leaf chyun phoebe chieh min rachel
8 7 7 6 9 9 8
範例輸出#1
chieh min
範例輸入#2
10
howhsien franzlee lucas ian lc cj cooookie ws chengyou snyhl
8 9 7 8 6 7 6 7 8 8
範例輸出#2
franzlee
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
string a[15];
int b[15];
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<n;i++) cin>>b[i];
string c[15];//最怪的人
int cnt=-1;//計有幾個怪人
int max=0;//最大值
for(int i=0;i<n;i++)
if(b[i]>=max) max=b[i];
for(int i=0;i<n;i++)
{
if(b[i]==max)
{
cnt++;
c[cnt]=a[i];
}
}
for(int i=0;i<=cnt;i++) cout<<c[i]<<" ";
return 0;
}#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
string a[15];
int b[15];
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<n;i++) cin>>b[i];
string c[15];//最怪的人
int cnt=-1;//計有幾個怪人
int max=0;//最大值
for(int i=0;i<n;i++)
if(b[i]>=max) max=b[i];
for(int i=0;i<n;i++)
{
if(b[i]==max)
{
cnt++;
c[cnt]=a[i];
}
}
for(int i=0;i<=cnt;i++) cout<<c[i]<<" ";
return 0;
}二維陣列
int arr[2][3]={{0,1,2},{3,4,5}}
陣列值型別
陣列名稱
值
儲存容量
| 0 | 1 | 2 | |
| 0 | |||
| 1 |
0
1
2
3
4
5
arr[0][0]=0
arr[0][1]=1
arr[0][2]=2
arr[1][0]=3
arr[1][1]=4
arr[1][2]=5
#include <iostream>
using namespace std;
int main()
{
int a[2][3]=
{
{0, 1, 2},
{3, 4, 5}
};
return 0;
}賦值
指定
for迴圈
#include <iostream>
using namespace std;
int main()
{
int a[2][3];
a[0][0]=0;
a[0][1]=1;
a[0][2]=2;
a[1][0]=3;
a[1][1]=4;
a[1][2]=5;
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;
}2 3
0 1 2 3 4 5

0<=n<=100, 0<=m<=100
#include <iostream>
using namespace std;
int main()
{
int n,m,a[105][105];
cin>>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 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;
}*6、7不可交換
輸出
#include <iostream>
using namespace std;
int main()
{
int a[3][3]=
{
{50, 100, 200},
{20, 40, 60},
{800, 1200,1600}
};
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
50 100 200
20 40 60
800 1200 1600
輸出
#include <iostream>
using namespace std;
int main()
{
int a[3][3]=
{
{50, 100, 200},
{20, 40, 60},
{800, 1200,1600}
};
cout<<"每日午餐費"<<a[0][0]<<endl;
cout<<"每月交通費"<<a[2][1]<<endl;
return 0;
}每日午餐費50
每月交通費1200

練習題
今日教學長妘寶正在複習好久沒玩的矩陣,她知道矩陣怎麼相加減,但數字太多太大了,她好懶,於是乎她打開online gdb請程式幫她運算,請問她要如何寫扣,才能讓解答正確?

輸入說明
第一行有兩個正整數m,n
第二行有個m*n個整數Ai
第三行有個字元c
第四行有個m*n個整數Bi
1<=m<=100, 1<=n<=100
Ai<=1000000, Bi<=1000000
c為+或-
輸出說明
m*n的矩陣
練習題
今日教學長正在複習好久沒玩的矩陣,她知道矩陣怎麼相加,但數字太多太大了,她好懶,於是乎她打開online gdb請程式幫她運算,請問她要如何寫扣,才能讓解答正確?

範例輸入#1
3 2
7 2 10 -1 3 5
+
4 2 3 16 -2 9
範例輸出#1
11 4
13 15
1 14
範例輸入#2
範例輸出#2
2 2
100 2024 310 370
-
406 7428 560 180
-306 -5404
-250 190
7 2
10 -1
3 5
4 2
3 16
-2 9
+
=
11 4
13 15
1 14
100 2024
310 370
406 7428
560 180
-
=
-306 -5404
-250 190
數學小教室
數學 真好~
5 9 1
4 2 3
1 0
2 3
4 4
=
22 31
20 18
5 x 1+ 9 x 2+ 1 x 4 = 22
5 x 0 + 9 x 3 + 1 x 4 = 31
4 x 1+ 2 x 2 + 3 x 4 = 20
4 x 0 + 2 x 3 + 3 x 4 = 18


#include <iostream>
using namespace std;
int main(){
int m,n;
cin>>m>>n;
int a[m][n],b[m][n];
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
cin>>a[i][j];
char c;
cin>>c;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
cin>>b[i][j];
int sum[m][n];
if(c=='+'){
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
sum[i][j]=a[i][j]+b[i][j];
}
else{
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
sum[i][j]=a[i][j]-b[i][j];
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++)
cout<<sum[i][j]<<" ";
cout<<endl;
}
}
二維陣列
By chainy
二維陣列
- 249