寻找最接近的数字
Finding closest number
我有如下的。txt文件:
23 43 -10
65 1 -1
-3 3 3
400 401 -389
21 6 -6
0 0 0
我需要写一个程序,它将从文件中读取数据,直到它读取有三个0的行。
然后我需要编写一个函数,接受三个整数并返回最接近0的数字。如果两个或三个值与0的距离相同,则返回最接近0的第一个数字。这是我目前为止写的:
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int findClosest(int, int, int);
int main()
{
ifstream fin;
infile.open("LAB5DATA.TXT");
int a, b, c;
while (infile >> a >> b >> c && a + b + c != 0)
{
int closest = findClosest(a, b, c);
cout << closest << endl;
}
infile.close();
return 0;
}
int findClosest(int a, int b, int c)
{
int differenceA = abs(a - 0);
int differenceB = abs(b - 0);
int differenceC = abs(c - 0);
int closest = differenceA;
if (differenceB < closest)
closest = differenceB;
if (differenceC < closest)
closest = differenceC;
return closest;
}
任何帮助都将非常感激!
我会通过做一些改变来修复你的findClosest
函数。首先,定义一个接受整数的绝对值的函数,这样您就可以更清楚地比较差异。
然后从那里,简单地返回3个差异中的最小值。
编辑:
int findClosest(int a, int b, int c)
{
int closest = a;
if (abs(b) < abs(a)) closest = b;
if (abs(c) < abs(b)) closest = c;
return closest;
}
相关文章:
- 查找最接近的大于当前数字的数字的索引
- 必须首先打印向量 v1 中最接近整数 x 的数字<int>
- 查找索引的最接近的真实值
- 如何优化代码以返回最接近给定整数的数字,但给定列表中不存在?
- C++ lower_bound() 搜索最接近目标值的元素
- C++有效地找到向量中第一个最接近的匹配值?
- 在结构向量中查找最接近的值
- 查找整数数组中最接近的数字
- 在有条件的向量中找到最接近的数字
- 我需要在给定数字中找到与平均值的最接近(和次要)数字
- 将十进制数字截断为最接近的4个小数和断言
- 从均匀网格中查找最接近的数字
- 如何在 c++ 中获取最接近平均值的数字
- 找到最接近另一个数字 c++ 的数字
- 使用数组查找最接近的数字C++,浮点
- 从一组数字中找出最接近的三个数字值
- 查找数组中与另一个给定数字最接近的数字
- 寻找最接近的数字
- 在两个数组中查找最接近的数字
- 如果输入的数字不是完全正方形,则找到最接近的完美正方形