La tâche est la suivante: générer k nombres positifs distincts inférieurs à n sans duplication.Générer k nombres distincts inférieurs à n
Ma méthode est la suivante.
d'abord créer la taille du tableau de k où écrire ces chiffres:
int a[] = new int[k];
//Now I am going to create another array where I check if (at given number
//position is 1 then generate number again, else put this number in an
//array and continue cycle.
je mets un morceau ici de code et des explications.
int a[]=new int[k];
int t[]=new int[n+1];
Random r=new Random();
for (int i==0;i<t.length;i++){
t[i]=0;//initialize it to zero
}
int m=0;//initialize it also
for (int i=0;i<a.length;i++){
m=r.nextInt(n);//random element between 0 and n
if (t[m]==1){
//I have problems with this. I want in case of duplication element
//occurs repeat this steps afain until there will be different number.
else{
t[m]=1;
x[i]=m;
}
}
Donc je remplis concret mon problème: si t [m] == 1. Cela signifie que cet élément se produit déjà, donc je veux générer un nouveau nombre, mais le problème est que le nombre de nombres générés sera ne pas être k parce que si i == 0 et se produit élément dupliqué et nous écrivons continuer alors il passera à i == 1. J'ai besoin de goto pour l'étape de répétition. Ou:
for (int i=0;i<x.length;i++){
loop:
m=r.nextInt(n);
if (x[m]==1){
continue loop;
}
else{
x[m]=1;
a[i]=m;
continue; //Continue next step at i=1 and so on.
}
}
J'ai besoin de ce code en Java.
beaucoup capitalisante? En outre, vous devez placer vos extraits de code dans des blocs 'code'. – Eric
Apprendre l'anglais. –
Basé sur des questions précédentes posées par la même personne: est ce devoir? –