2年前プログラミングで分からない事があります。以下のC++のプログラム文があります。bottles;}};上記のプログラム文に対して引数として次の値を渡します。}が返されてほしいのです。coutで途中の値を出力してみると上から順番に523が出力されます。上記のプログラム文のコメント部分にも書いています。どこかでbottles[fromId]の値が0になっているようなのですがどこで0になっているのかわかりません。2年前とりあえず言えることは、「プログラムは書いたとおりにしか動かない」ということです。バグのないプログラムはない。プログラムは思ったとおりには動かない。言えることは、「プログラムは書いたとおりにしか動かない」ということです。コメントありがとうございます。僕もそう思うのですが、思った通りに出力してくれません。何かバグがあるのではないかと思うのですがどこが間違っているのか分かりません。上記のプログラム文に対して引数として次の値を渡します。範囲外のfromId[1]やtoId[1]の値を読み取ってしまい、変なことになりそうです。2年前forループはcapacities.size()を基準にしているので、iは0と1の値を取りますよね。それで、bottles[fromId]とか書いているのですが、fromIdは長さ1のvector。上記のプログラム文に対して引数として次の値を渡します。書いてもらっていますが、その説明と実行結果が一致していないような。様>>fromIdやtoIdは1要素しか無いのに、capacities.size()は2なので、>>範囲外のfromId[1]やtoId[1]の値を読み取ってしまい、変なことになりそうです。コメントありがとうございます。様がおっしゃる通りでした。}が返されてほかのテストも間違うことなく通過しました。SRMかな?あ、そうですそうです。本当に単純な思い込みでお恥ずかしいです。ありがとうございました。2年前たいちう様コメントありがとうございます。ご指摘の通りfromId[1]というのは範囲外で存在しないので、それでおかしなことになっていたようです。単純なミスですが気が付きませんでした。>>main関数を書いてもらえませんか?このプログラムはTopCorderというプログラミング力を競うサイトの問題に対応して作ったもので、main関数はありません。ありがとうございました。main関数はありません。2017が入っているのですが、C++言語はまだ日が浅くどのようにしてmain関数からクラスを引数付きで呼び出せばいいのかもわからない状態です。C言語はわかりますのでC++の簡単な式なら分かるのでそれでアルゴリズムの問題を解いていました。studioでmain関数を書いて検証できるようにしてみたいと思います。入門のサイトを参考にしながらmain関数から作ってみたいと思います。ありがとうございました。ミクプラは自由にリンクできます。