これ何て呼びますか

こんばんわ。大学2年生の者です。
この度授業にて成績シミュレータというものを作成しました。
生徒数を任意(ここではn人とす)で入力し、平均点、最高点、最低点を出力するという簡易的なものになっています。

ここで、最高点、最低点はどの生徒だったのか。というのが未だできていない課題です。

生徒は二次配列でa[0][?],a[1][?],a[2][?]のようになっており0,1,2それぞれに教科を振り分け、0~n-1番までの合計n人の成績を格納している形になっています。
ちなみにシミュレータなので得点は乱数で発生させており、for文とif文で最高、最低点を出力しました。

やり方やヒントを教えていただけると幸いです。
長文かつ語彙力不足で機嫌を悪くするよな文章構成になってしまい申し訳ないです。

質問者からの補足コメント

  • 返信ありがとうございます。
    ごちゃごちゃしていて申し訳ないです。
    ソースコードの流れでは、
    生徒の人数→任意 標準入力で打ち込む
    生徒の得点→乱数で0-100の間(授業の中で5点間隔でという指定あり)で発生。
    0,5,10,15--100のように。
    教科は三種類あり、それぞれの平均点、最高、最低点を出力する
    二次配列で生徒の番号付け。
    例)a[0][12] 12番の人の数学の得点
    a[1][28] 28番の人の英語の得点
    ここで出力された最高、最低点は何番目の生徒だったかを割り出す方法について質問させていただきました。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/04/09 17:05

A 回答 (2件)

あなたがそれを「自分でやれ」って言われたらどうしますか?



例えば,
17枚の紙にそれぞれの生徒 (つまり 17人の生徒がいる) の成績が書いてあるとして, その中から最高点や最低点が何番目の生徒だったかを調べろ
って言われたら, あなたはどのようなことをしますか?

ただ 17枚の紙を見て手をこまねいているだけですか?
    • good
    • 0

えっと。

。。
ご質問内容は何でしょう?
よくわかりません。

> 生徒数を任意(ここではn人とす)で入力し、平均点、最高点、最低点を出力するという簡易的なものになっています。

???
人数を入力すると平均点、最高点、最低点が出力されるのですか?
人数分の点数は入力しない???


> 生徒は二次配列でa[0][?],a[1][?],a[2][?]のようになっており0,1,2それぞれに教科を振り分け、0~n-1番までの合計n人の成績を格納している形になっています。

「教科を振り分け」ということは複数教科あってそれぞれの平均点、最高点、最低点を出力するのですか???
プログラムの機能仕様がほぼわかりません。(;_;)
それについて「教えて」と言われましてもわけがわかりません。。。

恐らく最も大きな問題は二次元配列をa[0][?],a[1][?],a[2][?]と考えていることでしょう。
Excelの表のように行方向と列方向の表で考えましょう。
まず先頭行に位置付け列方向に処理を行い、終わったら一行下の行へ位置づけまた列方向に処理を行い・・・ という具合に。

つまりはいきなりコーディングイメージで考えるのではなくしっかり母国語と図表を使って設計をしましょう・・・ということです。
ちなみに何かチャート図は習っていますか?
習っていたらそれを使って処理手順を書き表しましょう。条件判定や各種ループなどもしっかり書けますから。

参考まで。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!