Cuma cacatan, supaya nggak lupa. Maklum sering lupa –‘. Intinya bagaimana menghasilkan angka random yang berbeda dari suatu array atau sebuah deret. Misalkan kita punya array {1,2,3,4,5,6,7,8,9}, kita ingin bangkitkan angka random dari array itu, dengan catatan semua angka harus berbeda alias nggak boleh ada yang sama. Artinya, angka-angka dalam array itu hanya pindah posisi, tapi secara random. Misalnya hasilnya jadi {4,2,6,1,3,8,9,7,5} dst.
Dari hasil gugling, akhirnya ketemu juga kata kuncinya.
Jadi kata kuncinya bukan bangkitkan random, tapi pertukaran posisi saja, alias shuffle -_-‘. Beginilah kalo bukan projremer sok-sokan belajar program, yang gini aja nggak bisa 😀
Ya sudah, programnya kira-kira seperti ini:
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
srand(time(0));
int bilAcak[9] = {0,1,2,3,4,5,6,7,8}; //yang mau diacak
for(int i=0;i<(9-1);i++)
{
int r, temp;
r = i + (rand() % (9-i));
temp = bilAcak[i];
bilAcak[i] = bilAcak[r];
bilAcak[r] = temp;
}
return 0;
}
Sumber dari sini
0 responses to “[cacatan] Bangkitkan angka random yang berbeda dari suatu Array”
Wew.. Mastah.. Maenannya c++…