【发布时间】:2016-01-17 21:00:54
【问题描述】:
首先,我是编程新手,我正在努力解决这个问题。在动态创建一个包含 N 个整数的数组(N 由用户插入并且元素是随机数)之后,我试图随机选择一半的元素(N/2)并随机修改它们。我的随机选择和修改代码如下(b是数组,之前在我的代码中声明过):
for(int j=0; j<(N/2); j++){
int l=rand() % (N + 1 - 0) + 0;
b[l]= rand() % (100 + 1 - (-100)) + (-100);
}
问题在于,这样一来,就有可能选择了相同的元素进行修改。我怎样才能避免这种情况?我尝试了以下代码,但没有成功。
int n=-1;
for(int j=0; j<(N/2); j++){
int l=rand() % (N + 1 - 0) + 0;
b[l]= rand() % (100 + 1 - (-100)) + (-100);
if(l == n){
j--;
}
n=l;
}
提前谢谢你。
【问题讨论】: