gpt4 book ai didi

c++ - 我正在尝试比较来自两个输入文件的数据以查看一组是否小于另一组

转载 作者:太空宇宙 更新时间:2023-11-04 12:14:40 25 4
gpt4 key购买 nike

我正在尝试将一个文件的数据与另一个文件进行比较,以查看它是否“适合”另一个文件。我认为一组是“洞”,另一组是“ block ”。我想看看是否所有的圆 block 都适合至少一个圆孔。如果它们都合适,我想输出“YES”。如果一个不适合,我想输出“不,所有圆 block 不适合至少一个孔。”

这是我的代码:

    bool fits = false;

for (int i=0; i<M; i++)
{
if (btype[i] == Circles)
{
CA[i] = (3.14 * (D[i] * D[i]));
}

for (int j=0; j<N; j++)
{
if (htype[j] == Circle)
{
CA[j] = (3.14 * (A[j] * A[j]));
}

if (CA[i] < CA[j])
{
fits = true;
break;
}
}

if (!fits)
{
break;
}
}
if (fits)
{
cout << "5. YES, all circle blocks fit a hole. "
<< endl;
}
else
{
cout << "5. NO, all circle blocks don't fit a hole. "
<< endl;
}

代码不正确。当我将一个圆圈值放入输入文件中时,该值肯定会使程序 cout 为 NO,但它给了我一个 YES。我想不通。

最佳答案

您有 if 语句在最后一个 for 循环中进行打印。

for (int j=0; j<N; j++)
{
if (htype[j] == Circle)
{
CirArea[j] = (3.14 * (A[j] * A[j]));
}


if (CirArea[i] < CirArea[j])
{
cout << "5. YES, all circle blocks fit in a hole. " << endl;
}
else
{
cout << "5. NO, all circle blocks don't fit a hole. " << endl;
}
}

如果你想打印一条消息取决于是否有一个不适合,如果所有都适合然后打印另一条消息你可以这样做。

float fits = 0.0;
float nofit = 0.0;
bool result;

for (int i=0; i<M; i++)
{
result = false;

if (btype[i] == Circles)
{
CirArea[i] = (3.14 * (D[i] * D[i]));
}

for (int j=0; j<N; j++)
{
if (htype[j] == Circle)
{
CirArea[j] = (3.14 * (A[j] * A[j]));
}

if (CirArea[i] < CirArea[j])
{
result = true;
//exit inner loop
break;
}
}

if (!result)
{
//exit outer loop
break;
}
}

if (result)
{
cout << "5. YES, all circle blocks fit in a hole. " << endl;
}
else
{
cout << "5. NO, all circle blocks don't fit a hole. " << endl;
}

关于c++ - 我正在尝试比较来自两个输入文件的数据以查看一组是否小于另一组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8306062/

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