1- 10 난수 프로그램 생성:
# include & ltiostream & gt
# include & lttime.h & gt
네임스페이스 STD 사용
Int main ()
{
Constint n =10; //난수 수 정의
Intnumber [n] = {null}; //난수를 저장하는 데 사용되는 배열을 정의합니다.
Srand (부호 없는) 시간 (비어 있음); //임의 함수 초기화
Number [0] = rand ()% n; //첫 번째 난수는 비교할 필요가 없습니다.
Cout & lt< number [0] < & lt "";
For (int I =1; 나 & ltn;; I++)// 나머지 난수 순환 생성.
{
Intj = 0;
Number [I] = rand ()% n; //난수 생성
While (1)
{
If (number[i] == number[j])// 같은 경우 난수 재정렬을 계속합니다.
{
Number [I] = rand ()% n; //난수 생성
J = 0;; //같은 것을 만나면 처음부터 순회한다.
계속;
}
If (j == (i- 1))// 횡단이 완료되면 튀어나온다.
깨뜨리다
J++;+;
}
Cout & lt& lt 숫자 [I] < & lt "";
}
Cout & lt& ltendl
0 을 반환합니다
}
프로그램 실행 결과는 다음과 같습니다.
확장 데이터:
벡터를 사용하여 난수를 출력합니다.
# include & ltiostream & gt
# include & ltvector & gt
# include & lttime.h & gt
네임스페이스 STD 사용
Int main ()
{
Constint n =10;
Int randnum
벡터 & ltint & gt 번호;
For(int I = 0;; 나 & ltn;; I++)
{
Number.push _ back (I+1); //꼬리에서 요소 추가
Cout & lt& lt 숫자 [I] < & lt "";
}
Cout & lt& ltendl
Srand (부호 없는) 시간 (비어 있음);
For(int j = 0;; J & ltn;; J++)? //나머지 난수 루프는 생성됩니다.
{
Randnum = rand ()% (n-j); //rand 함수에 의해 생성된 난수는 0-(n- 1) 입니다.
Cout & lt & ltnumber.at (randnum) < & lt "";
Number.erase (number.begin ()+randnum);
}
Cout & lt& ltendl
0 을 반환합니다
}