Sinh dãy ngẫu nhiên tăng trong C++

Việc sinh ra một dãy ngẫu nhiên trong C++ là một điều cần thiết khi chúng ta cần kiểm tra kế quả của chương trình. Nhưng không phải bất kỳ trường hợp nào bạn cũng sinh ra một dãy số ngẫu nhiên lớn nhỏ theo một thứ tự bất kỳ. Trong nhiều trường hợp ta sẽ cần phải tạo ra các dãy số ngẫu nhiêu tăng, bài viết này sẽ giúp bạn tạo ra điều đó.

Sinh ngẫu nhiên tăng

1. Yêu cầu đặt ra: Sinh ngẫu nhiên n phần tử được sắp không giảm (tăng) cho mảng nguyên a.

2. Thuật toán

–  Sinh ngẫu nhiên phần tử đầu tiên: a[1] = rand() % 100;

– Từ phần tử thứ hai trở đi, trị được sinh bằng trị của phần tử sát trước nó cộng thêm một đại lượng ngẫu nhiên:

(i = 2..n):  a[i] = a[i – 1] + (rand() %100),
do đó a[i] >= a[i – 1]

3. Một source code mẫu minh họa việc sinh dãy ngẫu nhiên tăng trong C++

–  Source code được viết trên Dev C++

// Sinh day ngau nhien tang trong C++ // thanhcuong.wordpress.com

#include <cstdlib> #include <iostream> #include <ctime>

using namespace

std;

void

view(

int

a[],

int

n) { cout<<

"\n Day ngau nhien tang duoc sinh ra la"

<<endl;

for

(

int

i = 0; i < n; i++) { cout<< a[i]<<

" "

; } cout<<

"\n"

; }

int

main() {

int

a[1000];

int

n; cout<<

"Nhap vao so phan tu cua day: "

; cin>>n;

if

(n <= 0) { cout<<

"So vua nhap khong hop le."

;

return

0; } srand(time(0)); a[0] = (rand() % 10);

for

(

int

i = 1; i < n; i++) { a[i] = a[i -1] + (rand() % 1000); } view(a,n); system(

"pause"

);

return

0; }

– Kết quả chương trình khi thực thi như hình dưới đây:

image

–  Click vào đây để Download source code chương trình sinh dãy số ngẫu nhiên trên C++

(Tham khảo cplusplus.com)

10.869661

106.803673

Advertisement

Rate this:

Chia sẽ bài viết này cho bạn bè

  • Share

Like this:

Like

Loading…