プログラム けいた郎 2004/04/14 20:11:57 └こんな感じでどうですか。 shino 2004/04/14 20:50:44 └少し改良しました shino 2004/04/14 23:17:32 └ありがとうございました。 けいた郎 2004/04/15 06:50:15
プログラム けいた郎 2004/04/14 20:11:57 ツリーへ
プログラム |
返事を書く |
けいた郎 2004/04/14 20:11:57 | |
下記のプログラムを、どなたかご教示ください。 「5、7、9、の3個の数字の列があるとする。 9は何番目の数字か。」 9が3番目の数字であることは、わかりますが、 BASICのプログラムが、わかりません。 どなたか教えてください。 |
└こんな感じでどうですか。 shino 2004/04/14 20:50:44 ツリーへ
Re: プログラム |
返事を書く |
shino 2004/04/14 20:50:44 | |
こんな感じでどうですか。 LET num$="579" LET n=9 REM INPUT PROMPT "数字の列":k REM LET num$=STR$(k) REM INPUT PROMPT "目的の数字":n LET strlen=LEN(num$) FOR i=1 TO strlen IF VAL(num$(i:i))=n THEN EXIT FOR NEXT i IF i>strlen THEN PRINT "該当する数字はありません" STOP END IF PRINT STR$(n) & "は" & STR$(i) & "番目です" END |
└少し改良しました shino 2004/04/14 23:17:32 ツリーへ
Re: こんな感じでどうですか。 |
返事を書く |
shino 2004/04/14 23:17:32 | |
少し改良しました 少数と複数の該当に対応しています。 DO INPUT PROMPT " 数字の列を入力して下さい(15文字まで)":k LET num$=STR$(k) LET strlen=LEN(num$) IF strlen<16 THEN EXIT DO PRINT "文字は15文字までです" LOOP DO INPUT PROMPT " 目的の数字を入力して下さい":n IF ABS(n-5)<=5 AND MOD(n,1)=0 THEN EXIT DO PRINT "0から10までの整数を入力して下さい" LOOP DIM anum(strlen) LET j=1 LET t=1 FOR i=1 TO strlen IF num$(i:i)="." THEN LET i=i+1 IF VAL(num$(i:i))=n THEN LET anum(j)=t LET j=j+1 END IF LET t=t+1 NEXT i IF anum(1)=0 THEN PRINT "該当する数字はありません" STOP END IF FOR i=1 TO j-1 IF i>1 AND j>3 THEN LET anums$=anums$ & "," ELSEIF i>1 THEN LET anums$=anums$ & "番目と" END IF LET anums$=anums$ & STR$(anum(i)) NEXT i PRINT STR$(n) & "は" & anums$ & "番目です" END |
└ありがとうございました。 けいた郎 2004/04/15 06:50:15 ツリーへ
Re: 少し改良しました |
返事を書く |
けいた郎 2004/04/15 06:50:15 | |
ありがとうございました。 エンピツが少しも前に進まないので、 お願いしました。助かりました。 感謝しております。 |