さて、私は私の答えを変更する必要があります。速度の袋のために。私は数学を使用します。ゼロはちょっと問題ですが、除算後にプレースホルダを確認するためのif文があります。私はあなたがこれをより簡単にするために使用できるライブラリがあると確信していますが、あなたがそれを使うことができるようには聞こえません。だから私たちはこのようにしなければなりません。また、小数点以下は切り捨てるので、小数点以下については心配しないでください。 soo 427/100 = 4.27 intでちょうど4になるでしょう。私が間違っているとコンパイラは常に切り詰めると信じています。あなたは、ユーザによって渡されたint型を引き離す方法
void MasterMind::evaluateNum(int &bin)
{
std::vector<int> numbers();
int thousand,hundred,ten;
int placeholder = 0;
thousand = 1000;
//bin = 4327
placeholder = thousand/bin;
//subtract the thousand position out of bin
bin -= placeholder * thousand;
numbers.push_back(placeholder);
//now you have 327
//subtract the hundreds spot now
hundred = 100;
placeholder = hundred/bin;
bin -= placeholder * thousand;
numbers.push_back(placeholder);
//now you have 27 now tens
ten = 10;
placeholder = ten/bin;
bin -= placeholder * ten;
//now you have just 7 in bin and 2 in place holder
numbers.push_back(placeholder);
numbers.push_back(bin);
}
のthats。あなたは、数字が大きくないことを確認するためのチェックを行うべきです。 0の場合、チェック/条件を追加する必要があります。値が0の場合は、プレースホルダを削除する必要があります。bin -= placeholder * ten
の代わりに。それはbin -= ten
でしょう。またはそれを完全にスキップすると、C++が026を026または26だけ処理するかどうかはわかりません。ゼロで1回実行すると、答えが出ます。
だから、1010を期待していますか?または1234?または1 2を入力3などを入力しますか? – Caperneoignis
このintのベクトルで何をしたいですか? 1つの数字だけ? – cuniculus
yea @Caperneoignis a 4thread binary – SDFSF