Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Hàm Random

  1. #1
    Ngày gia nhập
    04 2008
    Nơi ở
    HCMC
    Bài viết
    251

    Mặc định Hàm Random

    Mình có đoạn code thế này
    C++ Code:
    1. #include <stdlib.h>
    2. #include <time.h>
    3. #include <iostream.h>
    4. int main ()
    5. {
    6.     srand ( time(NULL) );
    7.     int t = rand() % 10 + 1;
    8.     cout<<t<<endl;
    9.     return 0;
    10. }

    Giá trị của t ngẫu nhiên nhưng mình muốn giá trị của t chỉ rơi vào 1 số giá trị mong muốn.
    VD mình muốn t chỉ có thể là {1,2,4,5,7,8,9} mà không phải là {3,6,10} thì không bit C++ có hàm nào làm cái này không nhỉ?
    C++ Code:
    1. for(;;){cout<<"Busy"<<endl;}
    2. system("cls");
    Hãy ủng hộ cho quỹ phát triển cộng đồng C Việt
    http://congdongcviet.com/quyphattrien-congdongcviet.cpp

  2. #2
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Bạn có thể tự tạo cho mình 1 hàm như vậy mà.
    VD: do x=random(10) while(x==3||x==6||x==10);

  3. #3
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Dùng hàm random_shuffle đi em
    Java Code:
    1. #include <iostream>
    2. #include <algorithm>
    3. #include <vector>
    4. #include <cstdlib>
    5. #include <ctime>
    6.  
    7. class Random {
    8.  
    9. public :
    10.     ptrdiff_t operator ()( ptrdiff_t m ) {
    11.         double o
    12.             = static_cast< double >( std::rand() ) / static_cast< double >( RAND_MAX );
    13.         return static_cast< ptrdiff_t >( m * o );
    14.     }
    15.  
    16. };
    17.  
    18. int get_random_number( int ary[], int SIZE ) {
    19.  
    20.     std::srand( std::time( NULL ) );
    21.     Random r;
    22.     std::random_shuffle( ary, ary + SIZE, r );
    23.     int idx = std::rand() % SIZE;
    24.     return ary[ idx ];
    25.  
    26. }
    27.  
    28. int main() {
    29.  
    30.     Random r;
    31.     const int SIZE = 7;
    32.     int my_number;
    33.     int ary[ SIZE ] = { 1, 2, 4, 5, 7, 8, 9 };
    34.  
    35.     std::cout << get_random_number( ary, SIZE ) << std::endl;
    36.     std::cout << get_random_number( ary, SIZE ) << std::endl;
    37.     std::cout << get_random_number( ary, SIZE ) << std::endl;
    38.  
    39.     return 0;
    40.  
    41. }

  4. #4
    Ngày gia nhập
    04 2008
    Nơi ở
    HCMC
    Bài viết
    251

    Cảm ơn a e đã góp ý
    C++ Code:
    1. for(;;){cout<<"Busy"<<endl;}
    2. system("cls");
    Hãy ủng hộ cho quỹ phát triển cộng đồng C Việt
    http://congdongcviet.com/quyphattrien-congdongcviet.cpp

  5. #5
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Code:
    #include <stdlib.h>
    #include <time.h>
    #include <iostream.h>
    int main ()
    {
        srand ( time(NULL) );
        int t = rand() % 7 + 1;
        int ary[7] = { 1, 2, 4, 5, 7, 8, 9 };
        cout<<ary[t-1]<<endl;
        return 0;
    }
    Thử với cách này cho đơn giản nè thiên thần

Các đề tài tương tự

  1. Kỹ thuật C Tại sao hàm random cho nhiều số thì kết quả random bị trùng lặp?
    Gửi bởi acquydem12 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 18-04-2014, 02:17 PM
  2. Hàm random không xác định trong dev-C ,cách tạo số random
    Gửi bởi khymkb trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 02-04-2013, 12:10 PM
  3. Mảng trên C cho số random có lựa chọn
    Gửi bởi maphongba008 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 31-03-2013, 09:54 PM
  4. Lập trình C++ Tạo random 225 ký tự a=>z ???
    Gửi bởi congaumap trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 17-04-2011, 03:19 PM
  5. Về hàm random
    Gửi bởi conrongchautien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 13
    Bài viết cuối: 23-05-2010, 09:09 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn