【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

今、野球の対戦成績の表を表示するプログラムを作っています。
<Record>
[1] [2] [3] [4] [5] [6]
T[1] 0 6 10 8 6 2
D[2] 6 0 5 9 9 1
G[3] 5 7 0 8 8 7
S[4] 5 6 2 0 5 9
C[5] 6 3 7 8 0 5
B[6] 10 4 6 3 6 0
<Ranking>
Team Win Lose Tie 勝率 ゲーム差
D 30 24 1 .556 ---
G 32 27 0 .542 0.5
B 27 27 2 .500 2.5
T 28 29 0 .456 2.0
C 26 31 0 .456 2.0
S 24 29 1 .453 0.0
という表示結果を得ようと思っています。
私が作ってみたプログラムのソースを貼り付けます。
#include<stdio.h>
#difine N 6
main(){
int Record[N][N+1]=
{{0,6,10,8,6,2,0},
{6,0,6,5,9,9,1},
{5,7,0,8,8,7,0},
{5,6,2,0,5,9,1},
{6,3,7,8,0,5,0},
{10,4,6,3,6,0,2}};
int total[N]={0,0,0,0,0,0},i,j,k,temp;
char team[]={T,D,G,S,C,B};
printf(" <<<Records>>>\n");
printf(" [1] [2] [3] [4] [5] [6] Tied Games\n");
for(j=0;j<N;j++){
for(i=0;j<N+1;i++){
printf("%2d[%2d] %4d %4d\n",team[i],i+1,record[i][j]);
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++){
total[i]+=a[i][j];

途中までつくって、<Ranking>の表の作り方がわからなくなってしまいました(;_;)
勝率とゲーム差には関数を使おうと思ってました。ゲーム差は二つのチームの(「勝」-「負」)÷2の差です。
どなたかわかるかた教えてくださいm(_ _)mお願いしますm(_ _)m

A 回答 (1件)

まず「必要なデータ」を考えよう。


順位表を作るのに必要なのは、何?

------------------
各チームの勝率を知る必要があるよね。

//各チームの勝率
double rate[N] = {0, 0, 0, 0, 0, 0};


各チームの勝率を知るには、
各チームの勝ち数、負け数を
算出する必要があるよね。

//各チームの総勝ち数/総負け数
int win[N]={0, 0, 0, 0, 0, 0};
int lose[N]={0, 0, 0, 0, 0, 0};


で、勝ち数・負け数を、対戦成績表から
算出する。

int t, s, temp;
for ( t=0; t<N; t++ ) {//t は自軍
for ( s =0; s <N; s++) {//s は敵軍
temp = record[t][s];//敵s に対する自軍t の勝ち数
win[t] += temp;//自軍・勝ち数に加算
lose[s] += temp;//敵軍・負け数に加算
//(注:自軍にとっての勝ちは敵軍にとっての負け)
}
}


次に勝率を算出する。

for ( t=0; t<N; t++ ) {
rate[t]= …;
}


ここまでで、各チームの「勝率」が得られた。
ここまではバッチリいいかな?
コンパイル通るかな?

(僕はここまで)
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
kacchanさんの教えを参考したら
ループをつくることができました。
ありがとうございました。

お礼日時:2004/07/02 21:56

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


おすすめ情報