2016-09-15 5 views
1

C가 처음이므로 난수 생성기에 익숙해 지려고합니다. 특정 간격 (1과 100처럼) 사이에 임의의 숫자를 얻는 방법을 알고 있지만 배열의 요소 안에 범위가있는 임의의 숫자를 얻을 수 있는지 궁금합니다. 내가 rand()를 사용할 것인가? 이 문제에 대한 온라인 답변을 검색해 보았지만 해결책을 찾지 못했습니다. 예를 들어, 내가 배열 한 경우 :범위가 배열 요소 인 임의 숫자입니다.

Array[10] = {50,26,29,10,78,12,45,83,39,55}; 

을 그리고 난 C에서 이런 짓을 했을까하는 방법, 값을 결말 것은 배열의 숫자입니다 임의의 숫자를 만들고 싶었?

+0

색인을 임의로 뒤집어 배열에서 번호를 선택하십시오. –

+0

'man random'이 당신을 트랙에서 밀어냅니다. –

+0

0에서 9 사이의 임의의 숫자를 가져 와서 arr [임의 번호]를 출력하지 않는 이유는 무엇입니까? – Raman

답변

0

임의의 색인을 선택하여 액세스하십시오.

Array[rand() % 10]; 
+0

고마워요! 이것은 많은 도움이됩니다. 이렇게하려면 내 프로그램에서 rand()를 구현하는 방법을 모르겠지만 지금은 그렇게 단순 해 보입니다. – Nack

2

배열에 색인 인 난수를 생성하고 그 위치에서 번호를 읽습니다.

const int index = rand() % (sizeof Array/sizeof *Array); 
const int value = Array[index]; 

이렇게 모듈로를 사용하면 최상의 난수는 나오지 않지만 적어도 작동해야합니다.

0

임의의 색인을 가져 오십시오.

index = rand() % 10; 

A[index] // This gets a random value in your range