指定された行・列数(それぞれ10以下とする)の行列 X, Y の積 Z = X × Y を求めるプログラムを作成せよ.行列の要素はすべて整数とする.
このプログラムで行と列の成分を入力するときに、1列になってしまうのですがどうしたらちゃんと入力できますか?
int main(void)
{
double A[10][10];
double B[10][10];
int i,j,m,n,p,k;
printf("行列xの行数は?:");
scanf("%d",&m);
printf("行列xの列数(行列yの行数)は?:");
scanf("%d",&n);
printf("行列yの列数は?:");
scanf("%d",&p);
printf("行列xを入力してください。\n");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &A[i][j]);
}
}
printf("行列yを入力してください。\n");
for (i = 0; i < n; i++) {
for (j = 0; j < p; j++) {
scanf("%d", &B[i][j]);
}
}
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
それはそうと、
>double A[10][10];
>double B[10][10];
>scanf("%d", &A[i][j]);
>scanf("%d", &B[i][j]);
データの型と入力の仕様が矛盾しています。
No.2
- 回答日時:
すみません「一列になる」の意味がわかりません。
もし
1(エンター)
2(エンター)
3(エンター)
...
と入力したら
1
2
3
...
と表示される、という意味なら、ただ表示がそうなっている、というだけです。1(エンター)と入力したので、1(改行)と表示されただけです。
scanfのマニュアルをよく読めばわかることですが、 (%cや[]等で明示しないかぎり)、空白も改行も区別されません。
よって
1 2
3 4
も
1 2 3 4
も
1
2
3
4
も
1
2 3
4
も全部同じ入力になります。
もし、ちゃんとm行n列で入力したいのなら
・1行ずつ処理する。適当な区切り文字で分割する。
・1行に含まれるデータの数を数えて、n個でなかったらエラーにする
といった処理が必要です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
C言語の質問です
-
double型が正常に認識されてい...
-
enterでループ終了
-
Delphi初心者 ボタン操作につ...
-
数値の連続入力終了条件について
-
vba
-
cout関数を使っているのですが...
-
プログラミング初心者です。 Py...
-
Linuxプログラミングで、キーボ...
-
C++ scanfで止まらない
-
arduinoで透過形フォトセンサが...
-
漢字のソートについて
-
通信対戦ゲームでの通信遅延に...
-
プログラミング 配列 最小値
-
3秒後に文字を消すには?
-
意味のよく分らないソース
-
VisualStudio2019のコードアナ...
-
数字以外が入力されたらエラー...
-
無限ループを抜け出す方法を教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
double型が正常に認識されてい...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
scanfが2回使えない・・・?;
-
C言語scanf_sで何故か2回入力に...
-
if文の条件にscanf関数を使うと…?
-
Linuxで入力待ちなしkeyread関...
-
プログラミングの問題です 「金...
-
ワードで文字を入力する時の変...
-
cout関数を使っているのですが...
-
batプログラム上で文字列を入力...
-
Userformの入力順序をタブオー...
-
scanf が無視されます
-
C言語 逆ピラミッドの作り方
-
gets_sがうまく動かない
-
Excel VBAで、Application.Inpu...
おすすめ情報