質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

491閲覧

ベクトルへの値の追加

Iori1000

総合スコア3

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/02/22 07:24

前提・実現したいこと

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

vector<vector<int>> comb_m;

はじめにcomb_mは空だから

comb_m.at(j).emplace_back(i+1);

comb_m.at(j) は存在しない(のでエラー)。

13行目 do { の直後に comb_m.emplace_back(); を追加してはいかがか。

投稿2021/02/22 07:45

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Iori1000

2021/02/22 08:35

動きました ありがとうございます。助かりました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問