#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class random{
int x;
public:
random(void);
int next();
int nextinrange(int a, int b);
};
random::random(){
}
int random::next(){
int srand((unsigned)time(0));
x = rand();
return x;
}
int random::nextinrange(int a, int b){
int srand((unsigned)time(0));
x = rand() % (a+1 - b) + b;
return x;
}
int main(){
int rand_max = 32767;
random r;
cout << "--0에서 " << rand_max << "까지의 랜덤 정수 10개--" << endl;
for(int i=0; i<10; i++){
int n = r.next();
cout << n << ' ';
}
cout << endl << endl << "--2에서 " << "4 까지의 랜덤 정수 10개 --" << endl;
for(int i=0; i<10; i++){
int n = r.nextinrange(2, 4);
cout << n << ' ';
}
cout << endl;
}
이거 랜덤 정수 10개 뽑는거랑
2부터 4까지 랜덤 정수 10개 뽑느건댕
컴파일은 되고 실행시켜보면 32767만 뜸...
srand는 일단 시동 후 한 번만 주는거고
응응
그럼 클래스에서 한번 만 선언해도됨?
생성자 설정을 어떻게해야 r=x가 될수 있는지도 모르겠어
srand는 생성자에서만 불러라, 그리고 범위 지정하는거 a랑b랑 대소비교도 안 하고 빼고 있다.
그러넹 ;; 근데 그거 고쳤는데도 이상하게 출력되;
이거 총체적난국이라그런거양?
니 컴에서 int가 16비트라고 생각하고 있냐?
헐 그럼 double 정도로해줘야댕?