- ベストアンサー
配列・ポインタに関する問題について
この春IT系の会社に入社し、ただいまプログラミングの研修中の者です。 学生時代はプログラミングとは無縁の存在でしたので、プログラミングに関しては初心者です。 早速質問なのですが、 「(30点、47点、99点、64点…)などの50人分の生徒のテストの点数の上位・下位5名分を表示せよ。」 という問題に詰まってしまい困っています。 わからないのは以下の2点です。 (1)どうやって成績順に並べるのか? (2)成績順に並べた後、どうやって上位・下位5名を選出するのか? (1)に関してはソートを使うと思うのですが、配列とポインタがどう絡んでくるのかいまいちイメージがわきません。 また、プログラミングのサンプルソースも見たのですが void sort(const int num, int *ary)や sort(ARRAY_SIZE, array); の部分がよくわかりません。 ()があるということはifやforと同じような位置付けなのでしょうか。 (2)に関してはif文を使用して条件付け→選出でよいのでしょうか? 初心者丸出しの質問でお恥ずかしい限りですが、アドバイスお願いいたします。
- みんなの回答 (3)
- 専門家の回答
お礼
丁寧な解説とたくさんの参考文献、どうもありがとうございます。 バブルソートの考え方に関してはだいたい理解できたつもりです。 実際にそれをCで書くときに理解できていない関数が出てくると、 少し混乱してしまいそこで問題を解くのがストップする、といった状況です。 一度しっかりと復習してからもう一度解いてみるつもりです。 コピペは、たとえそれでうまく問題が解けても 結局はどうしてそれが正解なのかわからず混乱するのが目に見えていますし、意味がないのでいたしません。(あたりまえですが)