Random 具有一定概率的搜索数组元素的奇数或偶数C++代码或算法

Random 具有一定概率的搜索数组元素的奇数或偶数C++代码或算法,random,Random,针对以下情况给出一个随机算法;   您希望搜索数组N大小的元素。您希望采用的策略如下:;生成1,N范围内的随机数,如果该数字为奇数,则以1/3的概率在该位置搜索,否则以2/3的概率搜索。如果找不到号码,请尝试N/2次,返回-1 我写了这段代码,但我很确定我没有给出一个随机数是错的 #include <iostream> using namespace std; int main() { int i; int numb; int p; cout<<"Enter a si

针对以下情况给出一个随机算法;   您希望搜索数组N大小的元素。您希望采用的策略如下:;生成1,N范围内的随机数,如果该数字为奇数,则以1/3的概率在该位置搜索,否则以2/3的概率搜索。如果找不到号码,请尝试N/2次,返回-1

我写了这段代码,但我很确定我没有给出一个随机数是错的

#include <iostream>

using namespace std;

int main()
{
int i;
int numb;
int p;
cout<<"Enter a size of array"<<endl;
cin>>i;
int Search_Array[i];
for(int j=0; j<i;j++)
{
   Search_Array[j]=j;
}
cout<<"enter a number to search"<<endl;
cin>>numb;
if(numb%2==0)
   {
       p=i*(0.6);
       cout<<"value of p"<<endl<<p<<endl;
   }
   else
   {
       p=i*(0.3);
   }
while(p>0)
 {

   if(Search_Array[p]==numb)
   {
       cout<<endl<<"Search number found at location"<<endl<<p<<endl;
   }
   p--;
   cout<<endl<<p;
   }

return 0;
}

我不知道如何用一些概率搜索它,我们将非常感谢您的帮助

谢谢lambda-xy-x您的回答非常好,这部分帮助很大
生成一个概率p,如果pI没有看到任何对随机数生成器的调用,那么肯定缺少一些东西。也许你可以看看。正如我提到的,我没有使用任何随机数,我只是想知道如何给数组中的数字添加概率,然后我就可以用这个概率来搜索它。看到我之前给出的链接,它指向。在你使用随机数发生器之前,别忘了初始化它。你能给我一些代码吗?可能吗?我可以提供支持,但我不会解决你的家庭作业。老实说,算法的描述已经不清楚了——到目前为止,我将在该位置的搜索概率解释为1/3,生成一个数字N,生成一个概率p,如果p