我有一个由直线制成的2D图形。

图形的边缘具有double类型的坐标。坐标的值存储在名为Dot的对象中。

与线有关的数据(是线的上升或下降,“ a * X + b == Y”中的“ a”和“ b”的值等)存储在称为Line的对象中。 Line类在每行的两端还有两个Dot对象。 Line类还具有2个函数/方法和一个构造函数。构造函数没有参数。第一个函数/方法没有参数,第二个函数/方法有参数。创建两种功能/方法都是为了在必要时自动更改所有数据。

启动程序后,插入图的边数和边的坐标。稍后,程序必须在屏幕上编写每行的所有内容。无论我插入什么坐标,第一个点的坐标都是X = -9,25596e + 061和Y = -9,25596e + 061。但是其他点具有我最初插入的坐标。

我添加到向量中的一行与图的边数一样多。之后,我开始更改图形边缘的坐标值(通过将值插入正在运行的程序中)。第三个动作是调用“创建”行的函数/方法(它计算有关行的其余数据)。该程序的第四步是在屏幕上写入有关每一行的数据。

我一直在寻找算法和代码中的问题。我什么都没找到

我正在使用Visual C ++ 2010 Express。我也在使用iostream和矢量库。

那么,为什么第一条边的X和Y坐标将其值更改为-9,25596e + 061?

最佳答案

好的,问题似乎出在代码中。我尚未初始化正确...必须交换两个变量的位置才能解决问题。感谢Hans Passant和Baltram,我找到了在哪里寻找问题:从任何类型的数组调用元素时。

是的,做这些事情时要小心。

10-04 14:32