this bookletのスクリーンショットに見られるように、このコードがintの配列の中央値をどのように見つけ出すかを頭に入れて試してみてください。私は自分のコードに見られるように、C++を使ってコードブロックのコードを複製しようとしています。このBrute Force Median Searchアルゴリズムはどのように実装しますか?
使用する基本的な操作は何ですか?私のコードを動作させるためには、何を変更する必要がありますか? CODED ###################### FIXED
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int A[] = {2,3,4,7,8,9,10,12,15};
int n = (sizeof(A)/sizeof(A[0]));
int k = (n/2);
for(int i=0; n-1; i++)
{
int numsmaller = 0;
int numequal = 0;
for(int j=1; n-1; j++)
{
if(A[j]<A[i])
{
numsmaller = numsmaller + 1;
}
else if(A[j]=A[i])
{
numequal = numequal + 1;
}
}
if(((numsmaller < k)&&(k<=(numsmaller + numequal))))
{
k = A[i];
cout << k;
}
}
return 0;
}
############。
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int A[] = {2,3,4,7,8,9,10,12,15};
int n = (sizeof(A)/sizeof(A[0]));
int k = (n/2);
for(int i=0;i <= (n-1); i++)
{
int numsmaller = 0;
int numequal = 0;
for(int j=1;j <= (n-1); j++)
{
if(A[j]<A[i])
{
numsmaller = numsmaller + 1;
}
else if(A[j]==A[i])
{
numequal = numequal + 1;
}
}
if(((numsmaller < k)&&(k<=(numsmaller + numequal))))
{
k = A[i];
cout << k;
return 0;
}
}
return 0;
}
あなたの 'for'ループは正しくありません(ヒント:' n-1'部分)。 –
forループは、小冊子に見られるようにアルゴリズムに従います。「このブックレットリンク」をクリックしてください。 – Turtle
正しい論理が正しくない(つまり、ポストされたコードの場合、 'n-1'は常に真です)。 –