11/02/11 04:04:05
>>394はこう書けばいいのかな
for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
if(j != i) num[i] = num[j];
num[j] = i + 1;
}
最初にnum[10] = {0};ってやったほうが楽そうだ
416:デフォルトの名無しさん
11/02/11 04:05:42
>>415
条件分岐で処理速度が落ちるから小手先テクの意味ないじゃん
417:デフォルトの名無しさん
11/02/11 04:10:25
カキコしているランダムに並べ替えは、
限られた範囲の数値が10から20や、-20から-10や、-10から10
てかみたいに、intで表せる任意の(連続)範囲ならどこでもOKなの?
418:デフォルトの名無しさん
11/02/11 04:12:31
>>415
やるなら、こんな感じ。
for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
num[i] = 0;
num[i] = num[j];
num[j] = i + 1;
}
でも、可読性が悪いため、他の人に
「num[i] = 0;」を消されるかも知れないので、お勧めできない。
419:デフォルトの名無しさん
11/02/11 04:13:36
>>414
おい、おまえ、限られた範囲の数値をランダムに並べ替えやってみそ
420:デフォルトの名無しさん
11/02/11 04:14:45
394 :デフォルトの名無しさん:2011/02/11(金) 00:48:34
>>392
for(i = 0; i < 10; i++) {
j = rand() % (i + 1);
num[i] = num[j];
num[j] = i + 1;
}
ってやれば空の配列に数字を入れながらランダムにできる
421:デフォルトの名無しさん
11/02/11 04:15:10
>>417
>>391ならOK
422:デフォルトの名無しさん
11/02/11 04:15:32
空の配列って書いてあるからもしかしたら、0で初期化してあるのかもしれないw
423:デフォルトの名無しさん
11/02/11 04:17:56
J.2 Undefined behavior
1 The behavior is undefined in the following circumstances:
The value of an object with automatic storage duration is used while it is
indeterminate (6.2.4, 6.7.8, 6.8).
424:デフォルトの名無しさん
11/02/11 04:20:06
行列演算ならまだしもただの並び替えなら、俺は読みやすい方を採用するかな
425:デフォルトの名無しさん
11/02/11 04:33:05
>>410
比較演算の結果は0か1になることが保障されてるって突っ込みが抜けてるから
「i * 10 + 9 + ( i == 9 ) は意図したとおりに動かないね。」が正しいように見えるわな
426:デフォルトの名無しさん
11/02/11 04:33:12
ここで再登場して、変数を宣言と同時に0で初期化しないアホがいるなんてwとか言ってくれたら面白いのに
427:デフォルトの名無しさん
11/02/11 04:37:33
>>425
そこは923で丁寧に説明されてるからおk
428:デフォルトの名無しさん
11/02/11 04:37:35
num[]はグローバル変数ですよ。
初期化する必要なんてありません。
429:デフォルトの名無しさん
11/02/11 04:44:13
Javaの質問ですけどいいですか?
430:デフォルトの名無しさん
11/02/11 04:44:14
◆QZaw55cn4cはこれだけ住人に嫌われているのにのうのうと平気な顔で
出てこれる神経が分からん
アスペも混ざってるな
431:デフォルトの名無しさん
11/02/11 04:47:51
>>429
お前さんスゲーナ
432:デフォルトの名無しさん
11/02/11 04:50:57
小型数列なら配置用の配列を使うかな
static int sr[3][10]={{9,2,5,…}.{4,9,7,…},{0,5,4,…}};
#define F(a,b,c) (b[0]=a[0], b[1]=a[1],…,c=&sr[rand()%3],a[0]=b[*c[0]],…, a[9]=b[*c[9]],a)
int num[10]={0,1,…},tmp[10],(*mxr)[10];
F(num,tmp,mxr);
433:デフォルトの名無しさん
11/02/11 04:56:19
>>432
マクロ長すぎ
素直に関数にして下さい
434:デフォルトの名無しさん
11/02/11 05:07:50
>>432
最高にキモイな!うほ!
435:デフォルトの名無しさん
11/02/11 05:57:44
「鬼は捕らえた娘をイヤーぶちぬいたんあぁ」ってなんですか