〜arqeeの技術コラム〜
Our arChive EntrieS


discription

Birthday
6/Aug/1983

Handle
arqee

2005年09月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
プロフィール
  • プロフィール画像
  • アイコン画像 ニックネーム:arqee
読者になる
Yapme!一覧
読者になる
Cで基本情報取得を目指す人へ
update : 09 / 29 / 2005

C言語で基本情報を取得しようと思った方へ、
私オリジナルの擬似問題を作ってみました。
チャレンジしてみましょう!!

なお、じゃんけんについては、みんなしっている
「ぐー、ちょき、ぱー」
っていうあれです。
すでにルールが定義されているものとして、読んで下さい。

下のソースは、じゃんけんの判定プログラムである。
プログラムを実行させたところ、

I am winner!

と出力された。
また、my = 3, cpu = 0の時、

Input failure

と出力された。

なお、このプログラムにおいて、
myはユーザーの手を、cpuはコンピュータの手を記憶している。
また、winlose[][]は、勝敗判定用の配列である。

以下の設問に答えなさい。


#include<stdio.h>

int main(void) {
	int winlose[3][3];
	
	int my = 2, cpu = 0;
	int i, j, ii, jj;
	int tmp;
	
	for(i = 0, ii = 1; i < 3; i++, ii *= 2)
		for(j = 0, jj = 4; j < 3;
			tmp = ii * jj,
			winlose[i][j] = [ @ ],
			j++,
			jj /= 2
		);
	
	if([ A ])
		if([ B ])
			printf("%s winner!\n",
			winlose[my][cpu] % 2 ? "You are" : "I am");
		else
			printf("Draw game\n");
	else
		printf("Input failure\n");
	
	return 0;
}



以下の設問に答えよ。
1.@に当てはまる式は、以下のどれか
    A) tmp = 4 ? 0 : tmp == 16 ? 2 : tmp == 8 ? 1 : 0
    B) tmp == 4 ? 0 : tmp == 16 ? 2 : tmp == 8 ? 1 : 0
    C) tmp < 4 ? tmp : tmp == 4 ? 0 : tmp / 8
    D) tmp > 4 ? tmp : tmp == 4 ? 0 : tmp / 8

2.Aに当てはまる式は、以下のどれか。
    A) my <  3 && my >  1 && cpu <  3 && cpu >  1
    B) my <  3 && my >  0 || cpu <  3 && cpu >  0
    C) my <= 2 && my >= 0 && cpu <= 2 && cpu >= 0
    D) my <= 2 && my >= 0 || cpu <= 2 && cpu >= 0

3.Bに当てはまる式は、以下のどれか。
    A) winlose[cpu][my]
    B) winlose[cpu - 1][my - 1]
    C) winlose[my - cpu][my + cpu]
    D) winlose[my & cpu][my | cpu]

4.my = 1, cpu = 2のとき、出力されるメッセージはどれか
    A) You are winner!
    B) I am winner!
    C) Draw game
    D) Input failure

追記にて、解説&回答を載せます。


Posted at 20:26 this blog URL
comments(1) / up

GARNET CROW Lovers' Video Poker - GCLSVP
update : 09 / 12 / 2005

GARNET CROW Lovers' Video Poker - GCLSVP SHで動作するVideo Poker!!
以前作成したVideo PokerをCygwinで動作させてみた。 うぎゃぁ〜おっせー!!
       GARNET CROW Lovers' Video Poker

GOLD : 600
                                     BET : 100

        === YOU HAVE THESE CARDS ===
            === CHANGE RESULT ===
+--- 1 --+--- 2 --+--- 3 --+--- 4 --+--- 5 --+
| A      | 8      | 10     | Q      | Q      |
|        |        |        |        |        |
|        |        |        |        |        |
|        |        |        |        |        |
|     Dia|   Spade|   Spade|  Clover|   Spade|
+--------+--------+--------+--------+--------+


        RESULT : Jack Or Better : 1 x 100

   = If you check, press enter to resume =
仕方ないので、改善してみた。

うにゅ〜〜〜、、、、かなり改善されたが、まだおっせー!!

whileループがかなりおっせーのだ。
これではどうしようもない。

一応どれだけ改善されるのかを以下で説明。


Posted at 17:43 this blog URL
comments(0) / up


blog+yapeus=yaplog