私は現在C言語でプロジェクトをやっていますが、私はproject.Basically私のメイン配列で最大M個の番号を見つけることを試みている私はID番号を別の配列に持っています。これらの最大番号のID番号は配列内の位置です。ポインタで配列の最大数を見つけてその位置を別の配列に移動
私の主な配列はtresh_arrであり、N個の数字を持っています。数字は2倍です。動作しません
私のコードブロックは次のとおりです。
double max=0;
int *max_arr;
int k,tmp,flag=0;
max_arr=calloc(M,sizeof(int));
for(i=0;i<M;i++) //I will find maximum M numbers
{
for(j=0;j<N;j++) //There is a N numbers in my array
{
if(*(tresh_arr+j) > max ) //I'm trying to take the Id numbers to the tresh_arr
{
flag=0;
for(k=0;k<i+1;k++)
{
if(*(max_arr+k)==j)
{
flag=0;
break;
}
else
flag=1;
}
if(flag==1)
{
max = *(tresh_arr+j);
tmp=j;
}
}
}
*(max_arr+i)=tmp;
}`
しかし、私のコードは動作し、ちょうど最大数を見つけ、この最大number.WhatのIdは私が何をすべきM回を書いていないのですか?私の欠点があれば、ありがとうと申し訳ありません。続き
デバッガ................. –
配列をソートしてMを最大にするとどうなりますか? – Marievi