โปรแกรมสุ่มค่าให้ Array โดยที่สามารถเลือกได้ว่าค่าที่สุ่มมาสามารถที่จะซ้ำหรือไม่ซ้ำกันได้
void setup(){
int[] K = new int[5];
RandomValueInArray(K,5,9,true);
PrintArray(K);
RandomValueInArray(K,5,9,true);
PrintArray(K);
RandomValueInArray(K,5,9,true);
PrintArray(K);
RandomValueInArray(K,5,9,false);
PrintArray(K);
RandomValueInArray(K,5,9,false);
PrintArray(K);
RandomValueInArray(K,5,9,false);
PrintArray(K);
}
void RandomValueInArray(int[] a,int min,int max,boolean AllowDuplicate){
if(AllowDuplicate){
for(int i=0;i<a.length;i++){
a[i] = int(random(min,max+0.9999999));
}
}
else{
a[0] = int(random(min,max+0.9999999));
for(int i=1;i<a.length;i++){
a[i] = int(random(min,max+0.9999999));
CheckDuplicate(a,i,min,max);
}
}
}
void PrintArray(int[] a){
print("K = {"+a[0]);
for(int i=1;i<a.length;i++){
print(","+a[i]);
}
println("}");
}
void CheckDuplicate(int[] b,int n,int min,int max){
boolean Duplicate = true;
while(Duplicate){
Duplicate = false;
for(int i=0;(i<n)&&(!Duplicate);i++){
if(b[i]==b[n]){
b[n] = int(random(min,max+0.9999999));
Duplicate = true;
}
else{
Duplicate = false;
}
}
}
}