|
輪投げの点数を集計して、合計点数の多い順に並べるプログラムを作りまし
た。合計欄の右横に順位を記入したいのですが、どのようなプログラムをつく
ればよいのかわかりません。どなたかそのプログラムをご教示願えないでしょ
うか。同じ合計点数の人は同じ順位にし、実行結果の順位欄のように番号をつ
けたいのです。よろしくお願いします。
PRINT " "
PRINT "輪投げの点数の集計"
PRINT " "
!人数と回数の入力---------------------------------
LET c=11 ! 出席人数
LET d=5 ! ゲームの回数
PRINT "出席人数=";c;"人"
PRINT "輪投げの回数=";d;"回"
DIM T(c,d+1),N$(c)
FOR I=1 TO c
READ N$(I)
FOR J=1 TO d
READ T(I,J)
LET T(I,d+1)=T(I,d+1)+T(I,J)
NEXT J
NEXT I
FOR I=1 TO c
FOR J=I+1 TO c
IF T(I,d+1)>T(J,d+1) THEN GOTO 10
LET M$=N$(I)
LET N$(I)=N$(J)
LET N$(J)=M$
FOR K=1 TO d+1
LET A=T(I,K)
LET T(I,K)=T(J,K)
LET T(J,K)=A
NEXT K
10
NEXT J
NEXT I
PRINT " "
PRINT TAB (20);"1回";TAB (27);"2回";TAB (34);"3回";
PRINT TAB (41);"4回";TAB (48);"5回";TAB (55);"合計";TAB (62);"順位"
FOR I=1 TO c
PRINT I;" ";N$(I);
FOR J=1 TO 6
PRINT TAB (J*7+c+3);T(I,J);
NEXT J
PRINT
NEXT I
!氏名と点数の入力--------------------------------
DATA エーさん ,23 ,20 ,28 ,15 ,5
DATA ビーさん ,10 ,5 ,22 ,23 ,18
DATA シーさん ,18 ,21 ,11 ,0 ,14
DATA デーさん ,15 ,20 ,25 ,22 ,20
DATA イーさん ,18 ,22 ,10 ,24 ,17
DATA エフさん ,22 ,10 ,5 ,0 ,19
DATA ジーさん ,15 ,25 ,23 ,10 ,8
DATA アイさん ,22 ,11 ,8 ,26 ,015
DATA ケーさん ,8 ,6 ,19 ,22 ,18
DATA エルさん ,16 ,5 ,13 ,26 ,13
DATA エムさん ,10 ,8, 15 , 21 ,19
!------------------------------------------------
END
実行結果(順位の欄は、手書きで書き加えた数字です)
1回 2回 3回 4回 5回 合計 順位
1 デーさん 15 20 25 22 20 102 1
2 イーさん 18 22 10 24 17 91 2
3 エーさん 23 20 28 15 5 91 2
4 アイさん 22 11 8 26 15 82 3
5 ジーさん 15 25 23 10 8 81 4
6 ビーさん 10 5 22 23 18 78 5
7 エムさん 10 8 15 21 19 73 6
8 エルさん 16 5 13 26 13 73 6
9 ケーさん 8 6 19 22 18 73 6
10 シーさん 18 21 11 0 14 64 7
11 エフさん 22 10 5 0 19 56 8
|
|