初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1260 1...125312541255125612571258125912601261126212631264126512661267...1503 新しいコメント Igor Makanu 2020.11.09 11:16 #12591 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()); } //+------------------------------------------------------------------+ Vitaly Muzichenko 2020.11.09 12:37 #12592 Alexey Viktorov:そして、その結果はどうだったのでしょうか。無謬性を主張しているわけではないのですが...)) 結果、6文字に満たなかったため、そのままにしていました if(v>=min && v<=max) イゴール・マカヌ: 今晩試してみます。 Vitaly Muzichenko 2020.11.09 15:03 #12593 Igor Makanu: 5桁のものがすり抜ける とにかく、問題は解決しました。皆さん、ありがとうございました Igor Makanu 2020.11.09 16:22 #12594 Vitaly Muzichenko:5桁の数字が抜けている ええ、そうでしょう。 は、6桁のチャレンジしかないと思っていました。 オプションとして、1桁目を rand()%10 で生成することもできます。 Vitaly Muzichenko 2020.11.09 16:30 #12595 Igor Makanu:はい、そうなります。タスクは6桁までしかないと思っていた。オプションとして、最初の文字を rand()%10 で生成することもできます。 コードに戻してください。 if(v>=min && v<=max) この機能は1日に何度も呼び出されるから、それで十分 だ。 Igor Makanu 2020.11.09 16:35 #12596 Vitaly Muzichenko:コードに戻してください。この機能は一日に 何度も呼び出されます。 ノー たんじゅんこうほう そう書く uint random = (rand() % 9 + 1) * 1000000 + // первый знак rand_32() % 100000; // ограничим 5-ю знаками Valeriy Yastremskiy 2020.11.09 17:11 #12597 Igor Makanu:ノーもっと単純な話です。ということで、書いてみてください。 まあ、それぞれの看板(6枚)をランダムにダイヤルして、番号を集めるというのもありですが) Igor Makanu 2020.11.09 17:14 #12598 Valeriy Yastremskiy:まあ、各キャラクター(6枚)をランダムにダイヤルして番号を集めるとか) はい、しかし、それはおそらく悪いランドである - あなたはテストする必要があります。 16ビットのrand()をシフトして、さらに下位ビットにrand()を追加して32ビットとするのが簡単だと思います。 Valeriy Yastremskiy 2020.11.09 17:21 #12599 Igor Makanu:はい、しかし、それはおそらく悪いランドである - 私はテストする必要があります。16ビットのrand()をシフトして、下位ビットに別のrand()を加える=32ビットのrand_32()を得るのが簡単だと思うのですが、私の例ですと テストするか、ジェネレーターのロジックを調整するか、どちらかですが、通常、タスクより高くつきます。 Алексей Тарабанов 2020.11.09 20:16 #12600 Valeriy Yastremskiy:私もそう思います。 テストをするか、ジェネレーターのロジックをいじるか、大抵は目の前の課題よりも高くつきますね。 ) 1...125312541255125612571258125912601261126212631264126512661267...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
何を書けば6桁のランダムな数字が出るのか、教えてください。
そして、その結果はどうだったのでしょうか。無謬性を主張しているわけではないのですが...))
結果、6文字に満たなかったため、そのままにしていました
if(v>=min && v<=max)
今晩試してみます。
5桁のものがすり抜ける
とにかく、問題は解決しました。皆さん、ありがとうございました
5桁の数字が抜けている
ええ、そうでしょう。
は、6桁のチャレンジしかないと思っていました。
オプションとして、1桁目を rand()%10 で生成することもできます。
はい、そうなります。
タスクは6桁までしかないと思っていた。
オプションとして、最初の文字を rand()%10 で生成することもできます。
コードに戻してください。
if(v>=min && v<=max)
この機能は1日に何度も呼び出されるから、それで十分 だ。
コードに戻してください。
この機能は一日に 何度も呼び出されます。
ノー
たんじゅんこうほう
そう書く
ノー
もっと単純な話です。
ということで、書いてみてください。
まあ、それぞれの看板(6枚)をランダムにダイヤルして、番号を集めるというのもありですが)
まあ、各キャラクター(6枚)をランダムにダイヤルして番号を集めるとか)
はい、しかし、それはおそらく悪いランドである - あなたはテストする必要があります。
16ビットのrand()をシフトして、さらに下位ビットにrand()を追加して32ビットとするのが簡単だと思います。
はい、しかし、それはおそらく悪いランドである - 私はテストする必要があります。
16ビットのrand()をシフトして、下位ビットに別のrand()を加える=32ビットのrand_32()を得るのが簡単だと思うのですが、私の例ですと
テストするか、ジェネレーターのロジックを調整するか、どちらかですが、通常、タスクより高くつきます。
私もそう思います。 テストをするか、ジェネレーターのロジックをいじるか、大抵は目の前の課題よりも高くつきますね。
)