UWSC|配列の最大要素を返す自作関数

ポク太郎です。

昔使った開発環境にあった関数で便利なものを移植。

配列変数A[0]A[1]A[2]A[3]A[4]A[5]

とあった場合、その最大要素番号5を返す関数です。


配列の最大要素番号を返す自作関数

FUNCTION ubound(d[])
    RESULT=LENGTH(d)-1
FEND
関数プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1,3行目 1
3
FUNCTION ubound(d[])
FEND
ubound(d[])関数宣言:配列の最大要素番号を返す関数。
2行目 2     RESULT=LENGTH(d)1
通常はメインプログラム中に、
for i=0 to LENGTH(A)-1
next
と当たり前のように書きますが、「あれ?この言語って1引くんだったっけ?」と分からなくなり調べるのが面倒なので関数にしておくと便利。
[ご注意!]本関数で対応するのは1次元配列だけです。

呼び出し側サンプル

呼び出し側からは、例えば、

FOR i=0 TO ubound(A)
 IF A[i]=""
  //ここに色んな命令を書く
 ENDIF
NEXT
プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1,5行目 1
5
FOR i=0 TO ubound(A)
NEXT
配列Aの全要素番号をスキャンするループ命令。大抵の開発環境にあります。
for 変数=数1 to 数2 step 数3
next
変数を数1から数3づつ大きくしていって数2までnext文との間をループする命令。
2,4行目 2
4
 IF A[i]=
 ENDIF
配列Aのうち空白であるものを選び出す条件。



などとして、配列変数の中を順番に調べて判断したりするのに使います。

配列変数の話題
配列の最大要素を返す関数 便利!
関数の引数と戻値に配列変数
[参照渡し]配列の要素の削除と挿入・追加
本記事の内容は以下でした。
○配列の最大要素を返す関数

戻値(int)=ubound(ARRY)

コメント

タイトルとURLをコピーしました