前提・実現したいこと
C++においてnCrの組み合わせを取得しvector形式で保存し、メインの中で別の計算に使用しようと試みています。
18行目の保存する部分に追加しようとするとエラーが出て止まります。
1.どうすれば動きますか?
2.何の理解が足りてないからこうなりますか?
発生している問題・エラーメッセージ
ハンドルされない例外が 0x757146D2 で発生しました (Project1.exe 内): Microsoft C++ の例外: std::out_of_range (メモリの場所 0x00D5F58C)。
該当のソースコード
C++
1#include <iostream> 2#include <algorithm> 3#include <vector> 4using namespace std; 5 6vector<vector<int>> make_conb(int n ,int r) 7{ 8 9 vector<bool> v(n); 10 vector<vector<int>> comb_m; 11 fill(v.end() - r, v.end(), true); 12 int j = 0; 13 do { 14 for (int i = 0; i < n; ++i) { 15 if (v[i]) 16 { 17 cout << (i + 1) << " "; 18 comb_m.at(j).emplace_back(i+1); 19 } 20 } 21 j++; 22 cout << "\n"; 23 24 } while (next_permutation(v.begin(), v.end())); 25 return comb_m; 26} 27int main() 28{ 29 vector<vector<int>>comb_v; 30 31 int n=6, r=4; 32 33 cout << "n=" << n << endl; 34 35 cout << "r=" << r << endl << "結果は" << endl; 36 comb_v = make_conb(n, r); 37 //for(int i =0;i<comb_v.size();i++) 38 /*{ 39 40 }*/ 41 cout << "終わり" << endl; 42 return 0; 43} 44
補足情報(FW/ツールのバージョンなど)
Visual Studio 2019 バージョン 16.8.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/22 08:35