私は直線からなる2次元図を持っています。C++ double型の変数は、常に値を-9,25596e + 061に変更します。
図形の辺はdouble型の座標を持ちます。座標値はDotというオブジェクトに格納されます。
Lineと呼ばれるオブジェクトには、行(昇順または降順の行、 "a * X + b == Y"の "a"および "b"の値など)に関するデータが格納されます。 Lineクラスには、各行の両端の2つのDotオブジェクトもあります。 Lineクラスには、2つの関数/メソッドと1つのコンストラクタもあります。コンストラクタには引数はありません。最初の関数/メソッドには引数はなく、2番目の関数/メソッドには引数がありません。両方の関数/メソッドは、必要なときに自動的にすべてのデータを変更するために作成されます。
私がプログラムを開始した後、図の辺の数と辺の座標を挿入します。その後、プログラムはすべての行についてすべて画面上に書き込む必要があります。どの座標を挿入しても、最初のドットの座標はX = -9,25596e + 061、Y = -9,25596e + 061です。しかし、他の点には、私が最初に挿入した座標があります。
図の辺の数だけ、ベクトルに1行追加します。その後、(実行中のプログラムに値を挿入することによって)図の端の座標の値を変更し始めます。 3番目のアクションは、関数を呼び出すことです。メソッドを呼び出すと、行を "作成"します(行に関する残りのデータが計算されます)。プログラムの4番目のステップは、すべての行についてのデータを画面に書き込むことです。
私はアルゴリズムとコードの問題を探していました。私は何も発見していない。
私はVisual C++ 2010 Expressを使用しています。私はiostreamとベクトルライブラリも使用しています。
なぜ最初のエッジのX座標とY座標は、値を-9,25596e + 061に変更するのですか?
私たちが見ることのできるコードはありますか? – Mysticial
いくつかのコードを投稿してください... –
これは、Visual Studioでプロジェクトのデバッグビルドで発生する可能性のある魔法の価値です。それはあなたに行くように意図されています!ここに間違った何か、キアヌ様式。その倍精度浮動小数点値の下位16進値は0xccccccccccccccccです。ローカル変数がデバッグビルドで初期化される値。修正する変数を初期化します。 –