この種のエラーが発生することがあります。私の質問は、いつどこで(どの行)正確にこのエラーが発生するかについての情報を見つける方法はありますか?私はubuntu linux 14.04を使っています。昇華とg ++を使用します。浮動小数点例外、セグメンテーションフォールトおよび類似のエラー
ここは私の現在のコードです。私はこれで浮動小数点例外を取得します。 2つのベクトルをとり、最初のセットのすべての要素で割り切れる数を出力し、2番目のセットのすべての要素を分割できます。
このコードを投稿することは、トピックにはあまり関係ありませんが、前述のエラータイプをデバッグするための適切な方法を見つけることができなくなりました。これは私の最初の時間です。ここで質問してください。
int main()
{
vector<int> firstVector;
vector<int> secondVector;
firstVector = {2,4};
secondVector = {16,32,96};
auto it = firstVector.begin();
for (int i = 1; i <= 100; ++i)
{
it = firstVector.begin();
for (; ; ++it)
{
if(i%(*it)!=0)
break;
if(it==firstVector.end())
{
it=secondVector.begin();
while(it!=secondVector.end())
{
if((*it)%i!=0)
{
it=firstVector.begin();
break;
}
it++;
}
}
if(it==secondVector.end())
break;
}
if(it==secondVector.end())
cout << i << endl;
}
return 0;
}
ようこそスタックオーバーフロー!デバッガを使用してコードをステップ実行する方法を学ぶ必要があるようです。良いデバッガを使用すると、プログラムを1行ずつ実行し、どこからずれているかを確認することができます。これはプログラミングをする場合に不可欠なツールです。詳しい読書:** [小さなプログラムをデバッグする方法](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)** – NathanOliver
あなたのテストデータはどこですか?そして、もしあなたがそれを持っていれば、プログラムを実行するたびに、 'cin'を使う代わりに、プログラムでデータをハードコードし、キーボードを消耗させてください。 – PaulMcKenzie
なぜテストデータを使用していないのか分かりません。私はそれを必要としないと思う?また、これはコード挑戦のための解決策であり、 "cin"です。 – zeke