こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

配列の座標指定について。

たとえば、下のような10行10列の配列でdの3を指定したいときにどういう手段で行えばいいのでしょうか? 入力についてですがdと3の間にはスペースは空けません。

この問題について質問し、解答をいただきました。
配列 A[10][10];

char i1, i2;
char index[3];

gets(index);

i1 = index[0] - 'a';
i2 = index[1] - '0';

A[i1][i2]

という回答です。ここはわかったのですが、scanfを使って読み込む部分がどうすればいいのかわかりません。またgets関数とはどんな処理を行うのでしょうか?お願いします。


\\\a b c d e f g h i j 
\\\\\\\\\\\\\\\\\\\\\\\\\\\
0 \ 0 0 0 0 0 0 0 0 0 0
1 \ 0 0 0 0 0 0 0 0 0 0
2 \ 0 0 0 0 0 0 0 0 0 0
3 \ 0 0 0 0 0 0 0 0 0 0
4 \ 0 0 0 0 0 0 0 0 0 0
5 \ 0 0 0 0 0 0 0 0 0 0
6 \ 0 0 0 0 0 0 0 0 0 0
7 \ 0 0 0 0 0 0 0 0 0 0
8 \ 0 0 0 0 0 0 0 0 0 0
9 \ 0 0 0 0 0 0 0 0 0 0

投稿日時 - 2004-06-22 23:08:26

QNo.901565

すぐに回答ほしいです

質問者が選んだベストアンサー

「どうしても scanf を使いたい」のであれば
char c1, c2;
int i1, i2;
scanf("%c%c", &c1, &c2);
i1 = c1-'a';
i2 = c2 - '0';
A[i1][i2] = ....;
または
scanf("%1[a-j]%1[0-9]", &c1, &c2);
(scanf 以外は同じ) かなぁ.

i1 (c1) と i2 (c2) は逆かもしれないけど

gets くらいは自分で調べること.

投稿日時 - 2004-06-23 09:16:53

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問