Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: In ra ngẫu nhiên n số bé hơn x cho trước

  1. #1
    Ngày gia nhập
    03 2008
    Bài viết
    64

    Mặc định In ra ngẫu nhiên n số bé hơn x cho trước

    Viết 1 chương trình tạo ngẫu nhiên n số nguyên 1<=n<=20000 ko trùng nhau có miền giá trị (1...30000)
    yêu cầu : tối ưu chương trình => nhanh nhất và tiết kiệm bộ nhớ nhất khi lưu trữ.
    Chịu...
    Ai giúp mình với...
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    03 2008
    Bài viết
    126

    bạn cho 1 vd đơn giản xem dc ko?
    chưa hiểu rỏ vấn đề lắm

  3. #3
    Ngày gia nhập
    03 2008
    Bài viết
    64

    à,Để mình giải thích,đại loại như thế này:
    Bạn nhập số phần tử của 1 mảng(không nhập giá trị của a[i] nha) ,ví dụ 5 phần tử,tiếp đó nhập giới hạn giá trị của mảng,vd 100.
    Máy sẽ cho ra ngẫu nhiên 5 giá trị bé hơn 100,tất nhiên sao cho không trùng nhau.

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

    Cách đơn giản :
    C Code:
    1. srand((unsigned)(time(0)));
    2. int random_number = rand()%100;

    Fancy way in C++:
    C++ Code:
    1. #include <iostream>
    2. #include <ctime>
    3. #include <cmath>
    4. #include <limits>
    5. #include <cstdlib>
    6.  
    7. class Random{
    8. public :
    9.   Random(bool pseudo = true);
    10. private :
    11.   int reseed();
    12.   double random_real();
    13.   int random_integer(int low, int high);
    14.   int poisson(double mean);
    15.   int multiplier, add_on, seed;
    16. };
    17.  
    18. Random::Random(bool pseudo){
    19.   if (pseudo)
    20.     seed = 1;
    21.   else
    22.     seed = time(NULL) % INT_MAX;
    23.   multiplier = 2743;
    24.   add_on = 5923;
    25. }
    26.  
    27. int Random::reseed(){
    28.   seed = seed * multiplier + add_on;
    29.   return seed;
    30. }
    31.  
    32. double Random::random_real(){
    33.   double max = INT_MAX + 1.0;
    34.   double temp = reseed();
    35.   if (temp < 0) temp = temp + max;
    36.   return temp/max;
    37. }
    38.  
    39. int Random::random_integer(int low, int high){
    40.   if (low > high)
    41.     return random_integer(high, low);
    42.   else
    43.     return (static_cast<int>((high-low + 1) * random_real( ))) + low;
    44. }
    45.  
    46. int Random::poisson(double mean){
    47.   double limit = exp(-mean);
    48.   double product = random_real();
    49.   int count = 0;
    50.   while (product > limit) {
    51.      count++;
    52.      product *= random_real();
    53.   }
    54.   return count;
    55. }

  5. #5
    Ngày gia nhập
    03 2008
    Bài viết
    64

    Mình cần dùng ngôn ngữ C để giải quyết bài toán trên,vả lại bài của rox cũng có nhiều eror khi chạy.

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

    Mặc định In ra ngẫu nhiên n số bé hơn x cho trước

    Mình cần dùng ngôn ngữ C để giải quyết bài toán trên,vả lại bài của rox cũng có nhiều eror khi chạy.
    Có 2 thứ tui ghét nhất :
    - thứ 1 : yêu cầu làm dùm + ra hạn thời gian
    - thứ 2 : nói code sai mà không đưa ra bug, sai chỗ nào.
    Tui cảm thấy ko còn rảnh để giúp cậu nữa !!!

  7. #7
    Ngày gia nhập
    03 2008
    Bài viết
    64

    Bạn đọc lại ở trên đi,tui noím làm giúp chứ có kêu ra hạn thời gian gì ở đây?
    code sai là khi đưa vào máy,báo lỗi.Xin lỗi bạn,ngôn ngữ C++ tui chưa học nên cũng không biết nó sai cái gì,mà đề bài tui nói rõ rồi,box này là box lập trình C cơ mà...

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

    srand((unsigned)(time(0)));
    int random_number = rand()%100;
    Cái này C++ à ?
    Fancy way in C++:
    Did you read ?
    code sai là khi đưa vào máy,báo lỗi.
    Lỗi gì, compiler nào ? Đừng bắt tui là phải xài giống y chang compiler của cậu nhé ?
    Cậu nói sai ok :
    - bug ?
    - Compiler name ?

  9. #9
    Ngày gia nhập
    03 2008
    Bài viết
    64

    VC++98
    Lỗi là error LNK2001: unresolved external symbol _main và fatal error LNK1120: 1 unresolved externals

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

    Tui build trên Visual C++ thậm chí không có 1 warning, cậu có bỏ main vào không mà cậu compile tỉnh bơ thế ?
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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

  1. Kỹ thuật C++ Tạo mảng với các giá trị ngẫu nhiên
    Gửi bởi aydada trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 13
    Bài viết cuối: 07-05-2013, 05:54 PM
  2. Lập trình C Hàm tạo số ngẫu nhiên | Cách nhập giá trị ngẫu nhiên cho ma trận?
    Gửi bởi chuong01 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 15
    Bài viết cuối: 13-08-2012, 09:43 PM
  3. Bài tập C Tạo ngẫu nhiên mảng 2 chiều vuông 4X4 với các phần tử tạo ngẫu nhiên trong đoạn[0,50]
    Gửi bởi truongtrungviet trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 16-04-2011, 08:06 AM
  4. Cách xây dựng hàm tạo số ngẫu nhiên?
    Gửi bởi buingochuy trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 09-09-2010, 03:51 PM
  5. Lập trình C++ | Tạo số ngẫu nhiên thực
    Gửi bởi Kevin Hoang trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 03-10-2007, 03:55 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