C言語のお勉強ページに対するご意見・ご感想スレ
22:へなちょこ管理人 ★2008/11/24(月) 20:11:25
/*符号無し整数xを右にnビット回転した値を返す*/
unsigned rrotate(unsigned x, int n)

/*符号無し整数xを左にnビット回転した値を返す*/
unsigned lrotate(unsigned x, int n)

省7
23:超絶初心者2008/12/27(土) 15:58:18
第四章4-18のリンクが4-1になってますよ。
24:へなちょこ管理人 ★2008/12/29(月) 02:52:32
>>23
Oh...misstake.
修正しておきますた。
25:超絶初心者2009/01/06(火) 00:14:19
演習6-9についてなのですが、問題が配列v2の並びを逆順にしたものを配列v1に格納する関数
なのですがこれをコンパイルするとv1がv2に格納されるのですがこれでよろしいのですか?
初心者であまり問題の意味も理解しきれていないのですがスイマセン…
ちなみに私はこのようにやってみました、間違っていたらご指摘ください。
void intary_rcpy(int v1[], const int v2[], int no)
{
省23
26:へなちょこ管理人 ★2009/01/06(火) 06:04:25
パッと見ですが、
for (i = 0; i < no; i++)v1[i] = v2[(no - i) - 1];
この行に違和感感じました。

詳しくは帰宅した後にでも〜。
27:へなちょこ管理人 ★2009/01/07(水) 00:38:06
問題を見ると
/*
要素数がnoであるint型の配列v2の並びを逆順にしたものを配列v1に格納する関数
void intary_rcpy(int v1[], const int v2[], int no) {}
を作成せよ。
*/
省38
28:へなちょこ管理人 ★2009/01/07(水) 00:40:23
付け加えると、constをつけると弄れなくなるので、
必然的にintary_rcpyに与える引数は
逆順にした値を格納する配列,入力した配列,要素数(配列の数)ですね。


眠い頭で書いてるので変なこと書いてたら吸いません。
29:へなちょこ管理人 ★2009/01/07(水) 00:47:04
久々にCのコード覗いて思ったけど未だにオレ、配列とポインタの区別できてないんだよなぁ。
なんとなく違いはわかるんだけど明文化しろって言われたらできない。
30:超絶初心者2009/01/07(水) 05:15:06
実引数bをv1に、aをv2にとしているのを、aをv1に、bをv2にと勘違いしていました。スイマセン
intary_rcpyなのですが最初の
for ( i = 0; i < no; i++ ) v1[i] = v2[i]; temp = v1[i]; v1[i] = v1[(no - 1) - i]; v1[(no - 1) - i] = temp;
for (i = 0; i < no; i++) v1[i] = v2[(no - 1) - i];に書き換えることが可能だとおもいます。
お忙しい所質問にご回答いただきありがとうございます。今後とも利用させていただきます。
31:へなちょこ管理人 ★2009/01/23(金) 21:02:36
某人生ゲームみたいなボードゲーム。サイコロを振って出た目の分進んでゴールを目指す。途中止まったマスによって様々なイベントが起こり、そのたびに所持金やプレイヤーのステータスが変化する。例えば、所持金が変化するイベントやステータスが上下するイベントがある。移動制限は作らない。
ステータスや所持金で選べる職業が変化する。ゴールしたときプレイヤーの所持金とステータスをランキングに残す。所持金のランキングとステータスのランキングと総合スコアのランキングをそれぞれ上位の10人ずつ残す。総合スコアは所持金とステータスの値を計算式にあてはめて算出する。最初にいくつか質問をして、ステータスの初期値をきめる。マスの進む数は1?6までの数をだすサイコロで決める。マス目は100マスぐらいを予定。少ないターン数でゴール出来たら所持金やステータスにボーナスがある。
1-AA