试图隔离某些数组项并计算它们是否相等
Trying to isolate certain array items and evaluate them for equality
我有一个有[N]行或项的fstream输入文件。我已经编写了代码来决定哪些是三角形,哪些是矩形,哪些是圆形。我需要分离出三角形元素然后比较它们看它们是否等于所有其他三角形元素面积的+/- 0.1。然后我要把相等的项数成大写字母。
这是我的代码到目前为止,但它不能正常工作。它给我的是数组中最后一个元素加上一个不存在的元素。我该如何解决这个问题?
// ........................................................
// 4. List any triangular blocks that are the same size.
// ........................................................
float TAE = 0.0;
float ItmM = 0.0;
for (int i=0; i<M; i++)
{
if (btype[i] == Triangles)
{
TA[i] = (0.5 * (D[i] * E[i]));
TAE = TA[i+1];
if ((TA[i] - 0.1) <= TAE <= (TA[i] + 0.1))
{
TAE = TA[i];
ItmN = i;
ItmM = i+1;
}
}
}
cout << "4. Triangular blocks that are the same size = "
<< (char)('A' + ItmN) << "&" << (char)('A' + ItmM)
<< endl;
首先,当你做比较时,你不写a<b<c
。正确的应该是a<b && b<c
。编译器应该在这里给出一个警告。
当你做TAE=TA[i+1]
时,我从你的代码中猜测TA[i+1]
还没有分配,它可以包含任意值。
为什么用float
代替ItmM
?在您的程序中,您可以使用int
.
相关文章:
- 编译器是否强制根据模板参数计算表达式?
- 是否有一种标准方法来计算两个 asctime() 值之间的天数
- 是否允许三元运算符在C++中计算两个操作数?
- 如何判断是否在编译时计算了"constexpr"(无需手动检查)
- 在C++中,是否可以编写一个条件的lambda,即只是一个计算结果为真或假的条件
- 委派的 ctor 是否受参数计算顺序的影响?
- OpenCV 检查计算机上是否安装了视频编解码器 (C++)
- 检查用户是否是 Windows 中本地计算机上的管理员C++
- 构造函数中初始化列表的计算顺序是否固定?
- 使用 OpenMP 并行执行比串行执行 c++ 花费更长的时间,我计算执行时间是否正确?
- 是否可以定义以后可以计算的布尔表达式
- (类型)(数学表达式)是否计算此类型的表达式?
- 有没有办法检查.exe(或进程)是否在远程计算机上运行
- 我是否应该在函数中使用静态变量来防止重新计算值
- 视觉 C++编译器在计算其参数之前是否允许将函数 ptr 存储在寄存器中?
- C++ std::string 中是否有任何函数可以计算两个字符串的相同起始字符的总数或任何最佳方法
- 恒定时间级联计算是否可行
- 检查计算是否会导致溢出 c++
- 使用静态/全局const原语的计算是否发生在编译时
- 不明白tm_struct (C++) 计算 - 是否存在某种偏移量?