bây giờ mình nhập n sô từ bàn phím,lam thế nào để in ra 1 giá rị ngẫu nhiên bất kỳ từ n số vừa nhập đó nhỉ( C++)
có phải ý của cậu là tớ sẽ gán các số lên 1 mảng
VD mảng A[1],A[2]...A[n] các số nhập từ bàn phím
rồi dùng hàm rand để lấy ngẫu nhiên địa chỉ của mảng
VD A[rand(n)] đúng không,thực sự cậu nói thế kia mình không hiểu ý là gì,quá tắt
bạn có thể làm như thế này:
số bạn nhập vô coi như là một chuổi, và giả sử có n ký số, sau đó dùng char* str lưu nó lại và sau đó dùng câu lệnh i = rand()%n; sau đó bạn lấy số đó dễ dàng bằng cách dùng str[i]. bạn thử làm xem sao.
Code:ví dụ bạn nhập vào chuổi 123456789 thì char* str; str = 123456789; giả sử bạn lấy random được i=2 thì bạn sẽ có str[i] = str[2] = 3;
À tức là bạn muốn chọn số ngẫu nhiên chứ không phải là tạo số ngẫu nhiên. Ví dụ, nếu bạn nhập {17, 28} thì chương trình sẽ chọn và in ra một trong hai số 17 hoặc 28.
Còn í của mình là tạo số ngẫu nhiên cơ. Tức là 17 và 28 được dùng để khởi động (srand) bộ sinh số ngẫu nhiên, còn bộ sinh này sau đó sẽ sinh ra (rand) hàng loạt số ngẫu nhiên nào đấy, không nhất thiết là 17 hay 28.
và câu của tớbạn có thể làm như thế này:
số bạn nhập vô coi như là một chuổi, và giả sử có n ký số, sau đó dùng char* str lưu nó lại và sau đó dùng câu lệnh i = rand()%n; sau đó bạn lấy số đó dễ dàng bằng cách dùng str[i]. bạn thử làm xem sao.
Code:
ví dụ bạn nhập vào chuổi 123456789
thì char* str;
str = 123456789;
giả sử bạn lấy random được i=2 thì bạn sẽ có str[i] = str[2] = 3;
nếu thế cũng giống cách của tớ rồi,cậu đã dùng rand địa chỉ của nó thôi,mản với chuỗi thì cũng gần tương tự nhauVD mảng A[1],A[2]...A[n] các số nhập từ bàn phím
rồi dùng hàm rand để lấy ngẫu nhiên địa chỉ của mảng
VD A[rand(n)]