ページ 11

順位付けの仕方…

Posted: 2011年12月08日(木) 02:08
by runa765
学校の課題で、順位付けの問題が分からなくて困っています。


#include<stdio.h>
int main(void)
{
int i,k,n,j,wa,ko[6]={6,100,63,4,61,75},su[6]={64,100,68,3,9,65},ei[6]={20,100,9,2,20,30};
float hei;
for(i=0;i<=5;i++){
wa=ko+su+ei;
hei=wa/3.0;
printf("%3d %3d %3d %3d %3d %5.1f\n\n",i+1,ko,su,ei,wa,hei);
}
return 0;
}

とりあえずここまで順位付け無しで作れたのですが、順位付けの仕方が分かりません(汗)
どなたかヒントいただけないでしょうか?

Re: 順位付けの仕方…

Posted: 2011年12月08日(木) 07:19
by beatle
フォーラムルール投稿前チェックリストをお読みください。

特にソースコードはcodeタグで囲み、何をやりたいのか、何が分からないのか、もっと具体的に書いて下さい。
「順位付け」って具体的に何でしょうか。
それから、ソースコードに適切なコメントをお願いいたします。
少なくとも僕には、「ko」とか「su」とか「ei」とか「hei」などの変数名の意味が把握できません。

Re: 順位付けの仕方…

Posted: 2011年12月08日(木) 09:06
by non
質問1
配列を並び替えていいのか?悪いのか?どっち?
質問2
合計、平均は配列に格納する必要はないのか?
質問3
順位は、配列に格納して良いのか?

Re: 順位付けの仕方…

Posted: 2011年12月08日(木) 10:06
by asd
runa765 さんが書きました: とりあえずここまで順位付け無しで作れたのですが、順位付けの仕方が分かりません(汗)
どなたかヒントいただけないでしょうか?
各変数の意味について久々にエスパー能力を使用してみます(`・ω・´)
ko・・・国語の点数配列
su・・・数学の点数配列
ei・・・英語の点数配列
wa・・・3科目合計(一時利用、毎回上書きされる)
hei・・・3科目平均(一時利用、毎回上書きされる)

順位付けとのことですが、
1.ソート(並び替え)のやり方はわかりますか?
2.順位はどのように保存すればいいのでしょうか。配列を用意して順位を入れる?
 #順位を出すためには少なくとも3科目合計のwaを保持しておいたほうがいいので
 #waも配列にして保持するように改修が必要です。
 #ついでにheiも配列にして保持しておくといいですね。
3.順位を求めたあとどのように出力するのでしょうか。
 1人目・・・○位
 2人目・・・X位
 (略)
 点数合計と同時に順位も表示したいのであれば、結果表示用のprintfは、順位を求めた後に持ってくる必要があります。

何がしたくて何がわからないのかが不明瞭なので他の方の質問も含め補足をお願いします。