내림차순정렬
야미
void KNN_Algorithms()
{
int i,j,k;
float temp;for(k=0; k Test_Struct-Column; k++)
{
for(i=0; i Train_Struct-Column_number; i++)
{
temp=0;
for(j = i; j Train_Struct-Column_number; j++)
{
if(Train_Struct-Distance_array[i] Train_Struct-Distance_array[j] && i!=j)
{
temp = Train_Struct-Distance_array[i]; // temp-num[i]
strcpy(Train_Struct-temp_type[i],Train_Struct-KNN_array[i]);
Train_Struct-Distance_array[i] = Train_Struct-Distance_array[j]; // num[i]-num[j]
strcpy(Train_Struct-KNN_array[i],Train_Struct-KNN_array[j]);
Train_Struct-Distance_array[j] =temp; // num[j]-num[i]
strcpy(Train_Struct-KNN_array[j],Train_Struct-temp_type[i]);
}
}
printf(%d[ %3f ],i+1,Train_Struct-Distance_array[i]);
printf([ %s ] \n,Train_Struct-KNN_array[i]);
getchar();printf(\n);}
}}
소스가 길어서 다올릴수 업구 부분만 올렸습니다. 여기서 문자랑 숫자배열이랑 같이 내림차순으로 정렬하는데
지금 포문이 왜 3개 돌아가냐면 Test_Struct-Column 80개 이고 Train_Struct-Column_number; 187개인데
현재 Train_Struct-Distance_array[i] 배열안데 1차원배열인 187*80개가 들어가잇는상태인데 포문에서 이걸쪼갤려고 하는데
정렬이 잘안되네요 ㅠㅠ 인덱스에 어디다 어디를 넣어야할지 ㅠㅠ 알려주심 은혜잊지 않겟습니다. ㅠㅠ
-
나봄 2024-01-07
그냥 2차원배열로 처리하면 쉬울텐데요.