こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

サブルーチン

下は身長の平均を求めるプログラムですけど、身長の高い順、低い順に並び替えしたいんですがどうしたらいいかわからないので、よかったら誰か教えていただけませんか                   REM プログラム     10            DIM A(12) 20
PRINT "メニュー” 30
PRINT "身長入力...1" 40
PRINT "身長出力...2" 50
PRINT "終了" 60
PRINT "どれにしますか" 70
INPUT B 80
IF B=1 THEN GOSUB300 ELSE 110 90
GOTO 30 100
IF B=2 THEN GOSUB500 ELSE 130 110
GOTO 30 120
IF B=3 THEN GOSUB700 ELSE 30 130
END 140
A(11)=B 300
FOR I=1 TO 10 310
PRINT i;: PRINT "人目" 315
INPUT C 320
A(I)=C 330
PRINT "これでいいですか?" 340
PRINT "1.YES 2.NO" 345
INPUT D 350
IF D=1 THEN 380 ELSE 370 360
IF D=2 THEN 315 ELSE 340 370
A(11)=A(11)+A(I) 380
NEXT I 390
RETURN 400
IF C=1 THEN 520 500
PRINT "先に入力してください" 510
GOTO 30 515
FOR I=1 TO 12 520
PRINT A(I) 530
NEXT I 540
RETURN 550
PRINT "これで身長の平均を求めるのを終わります"700
RETURN 710




 

投稿日時 - 2004-05-16 16:15:14

QNo.860484

困ってます

質問者が選んだベストアンサー

並べ替える前に、正しく入力されているかを検証しましょう。
質問のプログラムでは、「全く実行されない」文があります。プログラムを作る段階にくる前に、とりあえず作ってしまったような印象を受けます。

純粋に並べ替えるなら、「身長を出力」のサブルーチンで、入力された配列をソートしましょう。
ソートの方法は、何でもOKです。(10件しか入力されないから)

単純にもう一つ配列を作って、一番小さな要素を順番に取り出し別の配列に代入していけば、大きい順、小さい順どちらでも出来ます。

投稿日時 - 2004-05-16 18:42:35

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問