paizaラーニングのレベルアップ問題集「配列メニュー」からの出典です。
paiza.jp
C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 要素数の出力
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 1 要素数の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ vector<vector<int>> a={{1,2,3,4,5,6},{8,1,3,3,1,8}}; cout<<sizeof(a[0])/sizeof(a[0][0])*2<<endl; return 0; }
・STEP: 2 全要素の出力
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 2 全要素の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ vector<vector<int>> a={{6,5,4,3,2,1},{3,1,8,8,1,3}}; for(int i=0;i<2;i++){ for(int j=0;j<6;j++){ cout<<a[i][j]; if(j!=5){ cout<<" "; } } cout<<endl; } return 0; }
・STEP: 3 行数の出力
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 3 行数の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int a[][3]={{1,2,3},{4,5,6},{8,1,3}}; cout<<extent<decltype(a),0>::value<<endl; return 0; }
・STEP: 4 列数の出力
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 4 列数の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ vector<vector<int>> a={{1,2,3,4},{6,5,4,3},{3,1,8,1}}; cout<<a.at(0).size()<<endl; return 0; }
・STEP: 5 各行の要素数の出力
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 5 各行の要素数の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ vector<vector<int>> a={{1},{2,3},{4,5,6}}; cout<<a.at(0).size()<<endl; cout<<a.at(1).size()<<endl; cout<<a.at(2).size()<<endl; return 0; }
・STEP: 6 i 行目 j 列目の出力
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 6 i 行目 j 列目の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ vector<vector<int>> a={{1,2,3},{8,1,3},{10,100,1}}; cout<<a[2-1][3-1]<<endl; return 0; }
・STEP: 7 二次元配列の入力 1
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 7 二次元配列の入力 1 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ vector<vector<int>> a={{1,3,5,7},{8,1,3,8}}; for(int i=0;i<2;i++){ for(int j=0;j<4;j++){ cout<<a[i][j]; if(j!=3){ cout<<" "; } } cout<<endl; } return 0; }
・STEP: 8 二次元配列の入力 2
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 8 二次元配列の入力 2 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int m; cin>>m; vector<vector<int>> a(5,vector<int>(m)); for(int i=0;i<5;i++){ for(int j=0;j<m;j++){ cin>>a[i][j]; cout<<a[i][j]; if(j!=m-1){ cout<<" "; } } cout<<endl; } return 0; }
・STEP: 9 二次元配列の入力 3
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 9 二次元配列の入力 3 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int m; cin>>m; vector<vector<int>> a(m,vector<int>(5)); for(int i=0;i<m;i++){ for(int j=0;j<5;j++){ cin>>a[i][j]; cout<<a[i][j]; if(j!=4){ cout<<" "; } } cout<<endl; } return 0; }
・STEP: 10 二次元配列の入力 4
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 10 二次元配列の入力 4 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ 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]; } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cout<<a[i][j]; if(j!=m-1){ cout<<" "; } } cout<<endl; } return 0; }
・STEP: 11 i番目の出力 1
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 11 i番目の出力 1 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int k,l; cin>>k>>l; vector<vector<int>> a={ {1,2,3,4}, {10,100,0,5}, {8,1,3,8}, {15,34,94,25} }; cout<<a[k-1][l-1]<<endl; return 0; }
・STEP: 12 i番目の出力 2
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 STEP: 12 i番目の出力 2 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int k,l; cin>>k>>l; vector<vector<int>> a(3,vector<int>(3)); for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ cin>>a[i][j]; } } cout<<a[k-1][l-1]<<endl; return 0; }
・FINAL問題: 【二次元配列の入出力】i番目の出力 Boss
/* C++による「配列メニュー」問題集 【二次元配列の入出力】i番目の出力 FINAL問題: 【二次元配列の入出力】i番目の出力 Boss https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,m,k,l; cin>>n>>m>>k>>l; vector<vector<int>> a(n,vector<int>(m)); for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cin>>a[i][j]; } } cout<<a[k-1][l-1]<<endl; return 0; }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。