seven_starのプロフィール
@seven_star seven_star
ありがとう数121
質問数16
回答数4
- ベストアンサー数
- 1
- ベストアンサー率
- 33%
- お礼率
- 46%
よろしくお願いします
- 登録日2005/03/03
- 一点だけを並び替えてすべて表示したいのですが・・・
一次元配列に0~Nまでの数字を重複しないでランダムに入れて、その配列の中から一つをランダムに選び、その数字だけを並び替えて表示したいのです。 例えば、x[N]の配列があって、x[4]だったとします。 x[0] = 3, x[1] = 2, x[2] = 0, x[3] = 1と重複しない0~N(この場合は3)までの数字をランダムに配列に入れます。ここで、表示すると3201となります。 そして、その中からランダムに一つ選びます。この場合、x[2] = 0を選んだとします。それで、0321 3021 3201 3210と、x[2]だけを移動させるものを表示したいのですが良く分かりません。 重複しない乱数や、ランダムに一つ選ぶところは分かっているので、移動させて表示させる部分を教えてください。初歩的かもしれませんがお願いします。
- 締切済み
- C・C++・C#
- Jesuisfatigue
- 回答数3
- int型ポインタの加算
void foo() { int *ptrInt=0; char *ptrChar=0; ptrInt++; ptrChar++; } Windows2000上で、上記を実行すると ptrIntは4になります。 ptrCharは1になります。 なぜでしょうか。 32ビットとはいえ、 ptrIntとptrCharはアドレスを示しますよね。 アドレスに1加算するのだから、 int型、char型に関係なく、 いずれも1になるべきだと思います。 int型のポインタの場合示すデータは4バイトなので、 ポインタ1加算は、4(バイト)加算になるということでしょうか。