我的问题是一个函数,我需要从我拥有的数据文件中计算欧几里得距离,之后我需要得到欧几里得距离给出的 N 个最低数字。
我所做的是一个包含所有文件长度的数组,1.000.000
但它给了我分段错误,顺便说一句,这很明显。所以我想的是获得 N 值,创建一个长度为 N 的数组,然后只存储它们中最低的 N,然后按新月顺序对它们进行排序,然后打印,但是我很难在欧几里得的值之间进行比较距离和存储在数组中的距离。
void calcDist(Nodo *L,int vpesq[],int n)
{
int dist[n],ed;
while(L!=NULL){
x=0;
for(i=0;i<12;i++)
x=x+pow((vpesq[i]-L->caracter[i]),2);
ed=sqrt(x);
}
但现在我需要将 ed 的 N 个最低值保存到 dist[n] 并且 N 是由用户给出的