次にあげるC言語のプログラムを2回分の点数を3次元配列tensuに格納するように書きかえるというやり方が全く分かりません。どう作成すればいいのでしょうか?
include<stdio.h>
int main(void)
{
int i,j;
int tensu1[4][3]={{91,63,78},{67,72,46},{89,34,53},{32,54,34}};
int tensu2[4][3]={{97,67,82},{73,43,46},{97,56,21},{85,46,35}};
int sum[4][3];
for(i=0;i<4;i++){
for(j=0;j<3;j++)
sum[i][j]=tensu1[i][j]+tensu2[i][j];
}
puts("1回目の点数");
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%4d",tensu1[i][j]);
putchar('\n');
}
puts("2回目の点数");
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%4d",tensu2[i][j]);
putchar('\n');
}
puts("合計点");
for(i=0;i<4;i++){
for(j=0;j<3;j++)
printf("%4d",sum[i][j]);
putchar('\n');
}
return 0;
}
実行結果⤵
1回目の点数
91 63 78
67 72 46
89 34 53
32 54 34
2回目の点数
97 67 82
73 43 46
97 56 21
85 46 35
合計点
188 130 160
149 115 92
186 90 74
117 100 69
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ご質問に書かれているプログラムは質問者さんが作成されたものではなく出題されたものですか?
その場合、このプログラムは何のデータをどう加工しているプログラムなのか日本語で説明が有ったりプログラムコードの意味を解読されたりしていますか?
特にtensu1とtensu2という4行3列の配列の意味と、実行結果にある出力内容の意味です。
それ無しに「tensuという3次元配列を作って、、、」の処理手順の理解はあり得ないでしょう。
それが出来ればこのプログラムの処理手順を日本語で帰るはずですからそれをしましょう。フローチャートなどのチャート図でもよいです。
それが出来たらその内容を参考にして「tensuという3次元配列を作って、、、」の処理手順も日本語を使って同様に作成出来るかと思います。
ようは使用するプログラム言語に関係なく処理手順(実現方式、アルゴリズム)を日本語で書きましょうということです。
それ無しにプログラムの作成はあり得ません。
たとえそれがプログラム言語の授業での課題であったとしても。
参考まで。
No.2
- 回答日時:
1氏が言うように、質問者殿はまず「問題を理解していない」。
だから、誰かに解いてくれと丸投げしたところで、問題文を表現することができてないから、説明することすらできていない。
いわゆる、「2次元の配列を3次元にするにはどうすればよいでしょうか(泣)」と言っているだけだから、誰にも答えられない。
もしかするといまのうちに他の職を考えたほうがいいのかもしれない。
がんばれ。
No.3
- 回答日時:
No.1です。
> 授業で出された問題です。
だから何でしょう?
それだけでは何もわかりません。
お仕事ではなく学生さんだということだけです。
勉強レベルであることはご質問に書かれているプログラムの程度を見ればわかることでもありますが。(^^;
ちなみに、、、
> int tensu1[4][3]={{91,63,78},{67,72,46},{89,34,53},{32,54,34}};
> int tensu2[4][3]={{97,67,82},{73,43,46},{97,56,21},{85,46,35}};
を3次元配列にするだけなら
int tensu[2][4][3]={{{91,63,78},{67,72,46},{89,34,53},{32,54,34}},
{{97,67,82},{73,43,46},{97,56,21},{85,46,35}}};
とするだけのことでしょう。
4個の要素からなる配列の各要素がそれぞれ3個の要素からなるデータが2個あるのだから、その2個を配列にすればよいだけです。
その場合、これは「処理アルゴリズムの問題」ではなく単なる「データ表現の問題」です。プログラムとしてはtensu1とtensu2を順番に処理していたのがforループになるだけ(つまり合計3重ループになるだけ)です。
工夫点として「見出し行の出力処理」がある程度でしょう。
ちなみにプログラムソースはタブ付けをしっかりっしましょう。
課題の問題文のプログラムソース自体が質問に書かれているようにタブ無しのベタで書かれていたのだとすると出題者の技量不足です。
これではどこからどこまでが一つの関数で、どこからどこまでが1重目のforループで、どこからどこまでが2重目のforループなのか視覚的に理解しづらいです。つまり読み難いしミスもチェックしにくい。
参考まで。
No.4
- 回答日時:
直接の回答ではありません。
zircon3さんが指摘された
>ちなみにプログラムソースはタブ付けをしっかりっしましょう。
>課題の問題文のプログラムソース自体が質問に書かれているようにタブ無しのベタで書かれていたのだとすると出題者の技量不足です。
>これではどこからどこまでが一つの関数で、どこからどこまでが1重目のforループで、どこからどこまでが2重目のforループなのか視覚的に理解しづらいです。つまり読み難いしミスもチェックしにくい。
の件については、質問者の責任ではありません。このサイトは、インデントされたプログラムを投稿しても連続した半角の空白を1つの空白にしてしまう為、インデント無で書かれたようになってしまいます。この現象を回避するには、
全角の空白でインデントしたプログラムを投稿する以外に方法はありません。(もちろん、それは、コンパイルエラーになりますが)
もし、全角の空白でインデントする以外方法で、きちんと、インデントされたプログラムを投稿できる方法をご存じの方がいれば、その方法を賜りたく、投稿した次第です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 10人分の生徒の英語の点数{32,34,41,38,40,26,14,46,42,50} と数学の点 2 2022/05/26 21:31
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- 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言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語primeについて
-
Webプログラムってネイティブア...
-
VBA
-
指定したフォルダーを最前面表...
-
vba listviewにおけるtextのAli...
-
壁紙の変更
-
初級者の質問――time_tについて
-
プロダクションコードとは?
-
NumLockの制御について
-
signalハンドラに引数を渡したい
-
expectを使用しない対話型処理
-
部品(ソースコード)は自分の...
-
C言語の勉強法について
-
VBAのプログラムが動いているか...
-
Arduino nano(アルドゥイーノ ...
-
C言語にて作成中の三目並べにつ...
-
COBOLのS9タイプからXタイプへ...
-
Pythonを用いて等高線図を作成...
-
openGLで物体を半透明にして表...
-
Visual C++でDESを使って文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
プロダクションコードとは?
-
指定したフォルダーを最前面表...
-
Webプログラムってネイティブア...
-
COBOLのS9タイプからXタイプへ...
-
VBコンソールアプリ(.NET Frame...
-
VBA
-
2値化した画像の黒い部分のピク...
-
初級者の質問――time_tについて
-
無限ループ中にある任意のキー...
-
Arduino nano(アルドゥイーノ ...
-
世界一美しいソースコード
-
VBAにてTIFFから画像を取込みた...
-
C言語でpingを実行してその結果...
-
三次元のグラフを書きたいので...
-
マイコンからプログラムを読み...
-
C言語→MATLABへの変換で、困っ...
-
XPathの関数「text()="value"」...
-
URLの最初の「h」を略す
-
プログラミングの問題と解答例...
おすすめ情報
授業で出された問題です。