Untuk menampilkan bilangan random digunakan fungsi srand(time(NULL));yg memiliki fungsi sebagai bibit dari bilangan random yang akan dihasilkan, digunakan srand(time(NULL)); dimaksudkan untuk setiap kali program di debug agar tidak muncul angka yang sama pada debug sebelumnya. Sedangkan untuk menghasilkan bilangan secara random itu sendiri digunakan fungsi rand()%xx; xx disini merupakan batasan angka yang akan dicetak dibaca mod xx , misalnya rand()%10, maka angka yg dihasilkan berada antara 0-9 saja.
Oh iya, program ini juga menggunakan metode pengurutan buble sort, jd output program berupa bilangan random dan bilangan random yang sudah terurut.
Kurang lebih penjelasannya seperti itu. Langsung ke program aja gan, sist.
#include <conio.h>
#include <time.h>
#include <windows.h>
using namespace std;
int cek(char str[])
{
int i, panjang;
panjang=strlen(str);
for(i=0;i<panjang;i++)
{
if((i==0)&&(str[i]=='-'))
i++;
if(!isdigit(str[i]))
{
cout<<"Input salah ! Ulangi input !\n";
return 0;
}
}
return 1;
}
int main()
{
char nx[10];
int n,hasil ;
do
{
cout<<"========================================================"<<endl;
cout<<"Program Menampilkan data random sebanyak N buah bilangan"<<endl;
cout<<"========================================================"<<endl;
cout<<" "<<endl;
cout<<"Berapa banyak data yang anda inginkan ? "<<endl;
cout<<"Jawab: ";cin>>nx;
}
while(!cek(nx));
n=atoi(nx);
int data[100];
srand(time(NULL));
int i;
for(i=0;i<n;i++)
{
data[i]= rand()%n;
cout<<data[i]<<" ";
}
cout<<endl;
cout<<"\n URUTKAN : \n"<<endl;
//metode buble sort
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i;j++)
{
if(data[j]>data[j+1])
{
int tmp=data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
}
}
//menampilkan bilangan random yang sudah terurut.
for(int i=0;i<n;i++)
{
cout<<data[i]<<" "<<ends;
}
getch();
return 0;
}
Selamat mencoba....
No comments:
Post a Comment