paizaラーニングのレベルアップ問題集「線形探索メニュー」からの出典です。
paiza.jp
C++による「【指定された値の探索】指定された値の位置 3」問題集と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 指定された値の個数
/* C++による「【指定された値の探索】指定された値の位置 3」問題集 STEP: 1 指定された値の個数 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; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } cin>>k; int cnt=0; for(int i=0;i<n;i++){ if(a[i]==k){ cnt++; } } cout<<cnt<<endl; return 0; }
・STEP: 2 指定された値の位置 1
/* C++による「【指定された値の探索】指定された値の位置 3」問題集 STEP: 2 指定された値の位置 1 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; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } cin>>k; for(int i=0;i<n;i++){ if(a[i]==k){ cout<<i+1<<endl; return 0; } } cout<<0<<endl; }
・STEP: 3 指定された値の位置 2
/* C++による「【指定された値の探索】指定された値の位置 3」問題集 STEP: 3 指定された値の位置 2 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; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } cin>>k; for(int i=n-1;i>=0;i--){ if(a[i]==k){ cout<<i+1<<endl; return 0; } } cout<<0<<endl; }
・FINAL問題 【指定された値の探索】指定された値の位置 3
/* C++による「【指定された値の探索】指定された値の位置 3」問題集 FINAL問題 【指定された値の探索】指定された値の位置 3 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; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } cin>>k; for(int i=0;i<n;i++){ if(a[i]==k){ cout<<i+1<<endl; } } return 0; }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。