paizaラーニングのレベルアップ問題集「二重ループメニュー」からの出典です。
paiza.jp
C++による「二重ループ:基本編」問題集と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 指定された数字までの出力
/* C++による「二重ループ:基本編」問題集 STEP: 1 指定された数字までの出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n; cin>>n; for(int i=1;i<=n;i++){ cout<<i; if(i==n){ cout<<endl; }else{ cout<<" "; } } return 0; }
・STEP: 2 指定された数字までの出力
/* C++による「二重ループ:基本編」問題集 STEP: 2 指定された数字までの出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n; cin>>n; for(int i=1;i<=n;i++){ cout<<i<<endl; } return 0; }
・STEP: 3 指定された行数の数字の出力
/* C++による「二重ループ:基本編」問題集 STEP: 3 指定された行数の数字の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n; cin>>n; for(int i=0;i<n;i++){ for(int j=1;j<=5;j++){ cout<<j; if(j!=5){ cout<<" "; } } cout<<endl; } return 0; }
・STEP: 4 指定された範囲・行数の数字の出力
/* C++による「二重ループ:基本編」問題集 STEP: 4 指定された範囲・行数の数字の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,k; cin>>n>>k; for(int i=0;i<k;i++){ for(int j=1;j<=n;j++){ cout<<j; if(j!=n){ cout<<" "; } } cout<<endl; } return 0; }
・STEP: 5 二次元配列の出力
/* C++による「二重ループ:基本編」問題集 STEP: 5 二次元配列の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,k; cin>>n>>k; int a[n][k]; for(int i=0;i<n;i++){ for(int j=0;j<k;j++){ cin>>a[i][j]; cout<<a[i][j]; if(j!=k-1){ cout<<" "; } } cout<<endl; } return 0; }
・STEP: 6 二次元配列での要素の検索
/* C++による「二重ループ:基本編」問題集 STEP: 6 二次元配列での要素の検索 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,k; cin>>n>>k; int a[n][k]; for(int i=0;i<n;i++){ for(int j=0;j<k;j++){ cin>>a[i][j]; if(a[i][j]==1){ cout<<i+1<<" "; cout<<j+1<<endl; return 0; } } } }
・STEP: 7 二次元配列の最大の要素
/* C++による「二重ループ:基本編」問題集 STEP: 7 二次元配列の最大の要素 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,k; cin>>n>>k; int ans=0; int a[n][k]; for(int i=0;i<n;i++){ for(int j=0;j<k;j++){ cin>>a[i][j]; ans=max(ans,a[i][j]); } } cout<<ans<<endl; return 0; }
・STEP: 8 二次元配列の行ごとの和
/* C++による「二重ループ:基本編」問題集 STEP: 8 二次元配列の行ごとの和 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,k; cin>>n>>k; int a[n][k]; int ans[n]; for(int i=0;i<n;i++){ ans[i]=0; } for(int i=0;i<n;i++){ for(int j=0;j<k;j++){ cin>>a[i][j]; ans[i]+=a[i][j]; } } for(int i=0;i<n;i++){ cout<<ans[i]<<endl; } return 0; }
・STEP: 9 さまざまな長さの配列の和
/* C++による「二重ループ:基本編」問題集 STEP: 9 さまざまな長さの配列の和 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n; cin>>n; int k[n],ans[n]; for(int i=0;i<n;i++){ ans[i]=0; } for(int i=0;i<n;i++){ cin>>k[i]; for(int j=0;j<k[i];j++){ int num; cin>>num; ans[i]+=num; } } for(int i=0;i<n;i++){ cout<<ans[i]<<endl; } return 0; }
・STEP: 10 階段の出力
/* C++による「二重ループ:基本編」問題集 STEP: 10 階段の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n; cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ cout<<j; if(j!=i){ cout<<" "; } } cout<<endl; } return 0; }
・FINAL問題 二重ループ:基本編 積の最大
/* C++による「二重ループ:基本編」問題集 FINAL問題 二重ループ:基本編 積の最大 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,k; cin>>n>>k; vector<int> a(n),b(k); int ans=-10001; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<k;i++){ cin>>b[i]; } for(int i=0;i<n;i++){ for(int j=0;j<k;j++){ ans=max(ans,a[i]*b[j]); } } cout<<ans<<endl; return 0; }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。