//找出数组两两元素之差绝对值最小对应的两个元素之和差值
//数组sourceArr为查找数组
//size为数组sourceArr的长度
//数组result存储最小差绝对值、最小差绝对值对应的两个元素的值
void getArrValueByMin(float sourceArr[],float result[],int size)
{
int contour1[500] = {0};
int contour2[500] = {0};
float Arr[500] = {0};
float nextArr[500] = {0};
float subArr[500]={0};
int count = 0;
int len = size;
for(int i=0;i<len-1;i++)
{
for(int j=i+1;j<len;j++)
{
float num = abs(sourceArr[i]-sourceArr[j]);
subArr[count] = num;//将差绝对值存入数组
contour1[count] = i;
contour2[count] = j;
Arr[count]=sourceArr[i];
nextArr[count]=sourceArr[j];//将减数与被减数存入新的数组
count++;//记录差值个数
}
}
float temp_min = subArr[0];
int mark = 0;
for(int j = 0; j< count;j++)
{
if(temp_min>subArr[j])
{
temp_min = subArr[j];
mark = j;
}
}
result[0] = Arr[mark];
result[1] = nextArr[mark];
result[2] = temp_min;//存储差绝对值最小对应的两点的纵坐标和差绝对值
}
取数组两两之差最小值和最小值对应的两个元素值
最新推荐文章于 2024-07-29 00:15:00 发布