초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1260

 
Vitaly Muzichenko :

임의의 6자리 숫자를 얻으려면 무엇을 등록해야 하는지 알려주세요.

 void OnStart ()
{
   srand ( GetTickCount ());
   for ( int i = 0 ; i < 10 ; i++)
   {
       uint random = rand_32() % 1000000 ;   // %1000000 --> ограничим 6-ю знаками 
       printf ( "random = %u" , random);
   }
}
//+------------------------------------------------------------------+
uint rand_32()
{
   return ((( uint ) rand ()) << 16 | rand ());
}
//+------------------------------------------------------------------+
 
Alexey Viktorov :

그리고 그 결과는 무엇이었습니까? 나는 무오하다고 주장하지 않습니다 ...

결과적으로 6자 미만이었기 때문에 남겨두게 되었습니다.

 if (v>=min && v<=max)

이고르 마카누 :

저녁에 해봐야겠습니다.

 
Igor Makanu :

5자리 건너뛰기


그러나 문제가 해결되었습니다. 모두 감사합니다!

 
Vitaly Muzichenko :

5자리 건너뛰기

응 그들은 그럴거야

과제는 6자 이내라고 생각했는데

또는 rand()%10을(를) 사용하여 첫 번째 문자를 생성합니다.

 
Igor Makanu :

응 그들은 그럴거야

과제는 6자 이내라고 생각했는데

또는 rand()%10을(를) 사용하여 첫 번째 문자를 생성합니다.

코드에 다시 넣어

 if (v>=min && v<=max)

이것으로 충분합니다. 함수는 여전히 하루에 두 번 호출됩니다.

 
Vitaly Muzichenko :

코드에 다시 넣어

이것으로 충분합니다. 함수는 여전히 하루에 두 번 호출됩니다.

아니요

더 쉽다

그래서 쓰다

 uint random = ( rand () % 9 + 1 ) * 1000000 +   // первый знак
                    rand_32() % 100000 ;       // ограничим 5-ю знаками
 
Igor Makanu :

아니요

더 쉽다

그래서 쓰다

음, 각 기호(6개)를 임의로 다이얼하여 번호를 수집할 수 있습니다.

 
Valeriy Yastremskiy :

음, 각 기호(6개)를 임의로 다이얼하여 번호를 수집할 수 있습니다.

예, 하지만 아마도 나쁜 랜드가 나올 것입니다. 테스트해야 합니다.

16비트 rand()를 이동하고 하위 숫자를 더 추가하는 것이 여전히 더 쉽다고 생각합니다. rand() = 32비트 가져오기 - 내 예는 rand_32()

 
Igor Makanu :

예, 하지만 아마도 나쁜 랜드가 나올 것입니다. 테스트해야 합니다.

16비트 rand()를 이동하고 하위 숫자를 더 추가하는 것이 여전히 더 쉽다고 생각합니다. rand() = 32비트 가져오기 - 내 예는 rand_32()

동의한다. 일반적으로 작업보다 비용이 많이 드는 생성기의 논리를 테스트하거나 조정합니다.

 
Valeriy Yastremskiy :

동의한다. 일반적으로 작업보다 비용이 많이 드는 생성기의 논리를 테스트하거나 조정합니다.

)

사유: