
C言語で3次元配列の課題をしています。
5人の学生の3科目(国数英)の点数を前期と後期の2回分について三次元配列に入力し、各学生の前期と後期の合計と前・後期の合計を求めるプログラムです。
配列に数値を格納するあたりまでは分かったものの、そこから先がよくわからなくなってしまいました。どなたか解説とともに、成績の出力の仕方を教えていただけないでしょうか。for文を使えばいいというのはわかりますが・・・。
以下に出来た部分までのソースを載せておきます。まだ未熟な上、変なミスがあるかもしれません。
#include <stdio.h>
main()
{
/*配列を宣言*/
int score[0][3][5],i,j,k;
int total,sum[2][5];
/*配列に成績を入力*/
for(i=0;i<2;i++){
for(j=0;j<3;j++){
for(k=0;k<5;k++){
printf("score[%d][%d][%d] = ",i,j,k);
scanf("%d", &score[i][j][k]);
}
}
}
/*合計を計算する*/
for(i=0;i<5;i++){
for(j=0;j<2;j++){
total=0;
for(k=0;k<3;k++){
total = total + score[i][j][k];
}
sum[i][k]=total;
}
sum[2][k]=sum[0][k]+sum[1][k];
}
/*出力する*/
/*??*/
}
※三次元配列のscoreの始めの[]は、0が前期成績、1が後期成績を格納する部分です。
No.1ベストアンサー
- 回答日時:
全部見たわけではありませんが、気が付いた点を幾つか
1.
int score[0][3][5],i,j,k;
は
int score[2][3][5],i,j,k;
では?
2.合計を計算する部分で、score配列の要素が[2][3][5]しかないのに、
for(i=0;i<5;i++){
for(j=0;j<2;j++){
total=0;
for(k=0;k<3;k++){
total = total + score[i][j][k];
となっている。
このままだと、iが4までループするため、score[4][1][2]をアクセスしてしまう。sum配列も同様に変な場所をアクセスしてしまいます。
この回答への補足
皆様、私の拙い質問を見てくださいましてありがとうございました。
自力で解決できるメドがついたので回答を締め切らせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# 10人分の生徒の英語の点数{32,34,41,38,40,26,14,46,42,50} と数学の点 2 2022/05/26 21:31
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数でEmpty値を設定する方法。
-
動的配列が存在(要素が有る)か...
-
Excel VBAで配列の途中から(X)M...
-
Excelの配列数式について
-
VBAで配列の計算
-
EXCEL VBA で、0から?1から?
-
格闘ゲームのコマンド判定について
-
For文と配列
-
変数を動的に作るには?
-
C言語 重複しない4ケタの乱数...
-
エクセル:バグという名の仕様?
-
C言語のread関数に関するファイ...
-
配列の要素数を超えた参照のコ...
-
System.err. printlnとSystem.o...
-
EclipseでJava
-
Javaで文字と数字が混ざったも...
-
わかりません
-
java キーボード入力された値の...
-
意味がわかりません
-
コンパイルできません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
動的配列が存在(要素が有る)か...
-
IF関数でEmpty値を設定する方法。
-
パソコンキーボードで時分秒を...
-
EXCEL VBA で、0から?1から?
-
VBAで配列の計算
-
C言語 重複しない4ケタの乱数...
-
VB.net 引数で配列変数を渡す際...
-
変数を動的に作るには?
-
C#の質問
-
VBでbyte配列型のインスタンス...
-
VBで作った乱数を一度も重複さ...
-
javaプログラムについて
-
配列の要素数を超えた参照のコ...
-
For文と配列
-
複数のテキストボックスに同じ...
-
Excel VBAで配列の途中から(X)M...
-
ラジオボタンのチェックをEnter...
-
遅延バインディングを使用でき...
-
ジャグ配列とは
-
int型配列の一括初期化
おすすめ情報