gpt4 book ai didi

c++ - 我无法获得正确分离和比较数组数据的代码

转载 作者:行者123 更新时间:2023-11-28 01:01:53 24 4
gpt4 key购买 nike

我有一个包含 [N] 行或项目的 fstream 输入文件。我已经编写了代码来决定哪些项目是三角形,哪些是矩形,哪些是圆形。我必须只隔离三角形项,然后比较它们以查看它们是否等于所有其他三角形项的面积的 +/- 0.1。然后我必须将相等的项目对计算为大写字符。

到目前为止,这是我的代码,但它无法正常工作。它正在输出 L&L,这是不正确的。它应该是 E&L,因为我数组中的两个相同的三角形位于第 5 和 12 行,而不是第 12 和 12 行。我该如何解决这个问题?

   int ItmM = 0;
ItmN = 0;
int j = 0;

for (int i=0; i<M; i++)
{
if (btype[i] == Triangles)
{
TA[i] = (0.5 * (D[i] * E[i]));

for (int j=0; j<i; j++)
{
if (TA[i] - 0.1 < TA[j] && TA[j] < TA[i] + 0.1)
{
TA[j] = TA[i];
ItmM = i;
ItmN = j;

cout << "4. Triangular blocks that are the same size = "
<< (char)('A' + ItmM) << "&" << (char)('A' + ItmM)
<< endl;

}
}
}
}

我已经对上面的代码进行了两次编辑。它仍然在输出 L&L。应该是E&L, (5&12)

最佳答案

当您执行 TriangleAreaE = TrangleArea[j] 时,由于 j 始终为 0,您正在将每个三角形与第一个三角形进行比较.第 5 位和第 12 位永远不会被比较。

您应该使用嵌套循环来比较每对三角形:

for (int i=0; i<M; i++)
{
if ( /*...*/ )
{
/*...*/
for (int j=0; j<i; j++)
{
// compare TriangleArea[i] with TriangleArea[j], if j is a triangle
}
}
}

您可以填写详细信息,因为这似乎是一道作业题。

并且您应该编辑现有的帖子而不是发布新帖子。

关于c++ - 我无法获得正确分离和比较数组数据的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com