HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
1004
秋味配列変数4未解決


秋味

リンク

2019/10/4(Fri) 08:36:07|NO.88573

配列変数に二つの数値を記録するには、どうしたらいいですか?

2次元配列ともちがうし・・・



この記事に返信する


科学太郎

リンク

2019/10/4(Fri) 20:34:31|NO.88579

> 2次元配列ともちがうし・・・
C/C++言語などの構造体のことですか?



沢渡

リンク

2019/10/4(Fri) 21:06:21|NO.88581

シンプルなやり方としては、複数の配列変数を用意する、
もしくは多次元(二次元含む)の配列で管理する、といったところでしょうか。
私だったら複数の配列変数を用意する方法をとると思います。
以下、40人のクラスの各生徒の身長・体重を配列変数で取り扱う例。

//複数の配列変数を用意するやり方 #define set_data(%1,%2,%3) height(%1)=%2 : weight(%1)=%3 //身長と体重を設定するマクロ。%1は生徒番号、%2は身長、%3は体重 num=40 //クラスの人数 dim height,num //身長 dim weight,num //体重 set_data 0,164,58 //出席番号0番の人の身長・体重を設定 mes "出席番号0番の人は、身長:"+str(height(0))+"cm、体重:"+str(weight(0))+"kg"
他には、C言語の構造体に近いものとして「モジュール変数」というものがあります。
詳しいことはマニュアルを参照していただきたいのですが、
あまり使い勝手の良いものとは言えず、個人的にはあまり触りたくはありませんね。

>ゆうやん氏
そのページはdim系命令の基本的な使い方について説明しているだけですよね?
質問者さんは「配列」「二次元配列」という言葉を使っているのだから、
そんなことは百も承知だと思いますが?
何にせよ、そういう居丈高な態度は感心できません。



ゆうやん

リンク

2019/10/4(Fri) 21:13:21|NO.88582

>沢渡 NO.88581
すみません。
dimは配列と二次元配列とは別だったんですね。
失礼しました。



b

リンク

2019/10/5(Sat) 18:27:08|NO.88587

的外れでしたら申し訳ありません

・文字列に一度変換して1次元配列につっこんで処理をする。
 欠点:変換や取り出すオーバーヘッドが発生する。

・32ビットを 16ビット数値2つとして取り扱う。
 問題:ビット操作のクセがあるので、思わぬバグの原因になる。


randomize sdim hoge,10 repeat 10 a=rnd(100) : b=rnd(100) hoge(cnt)= str(a)+","+str(b) loop getstr a, hoge(2),0,',' getstr a, hoge(2),strsize mes int(a) mes int(b) mes int(a)+int(b) stop



ONION software Copyright 1997-2023(c) All rights reserved.