NI製品ディスカッション

次の結果を表示 
次の代わりに検索 
もしかして: 
返信

2D配列の列あるいは行の和をとって1D配列を作成する方法

解決済み
解決策を見る
Highlighted

2D配列の列あるいは行の和をとって1D配列を作成する方法

1 2 3

4 5 6

7 8 9

 

のような 2 次元配列(実際には 1024 行 100 列程度)において同一の列あるいは行を足し合わせで 1 次元配列を作成しようとしています。

 

例:

各列について足し合わせた 1D 配列は

12 15 18

例えば各行について足し合わせた 1D 配列は

6 15 24

 

おそらく for 文と配列要素の和の関数を使用すればできそうな気がするのですが、もっとスマートな方法がないかと思い、ご質問いたしました。

何分不慣れなため基礎的な質問で恐縮ですが、何卒ご回答の程よろしくお願いいたします。

0 件の賞賛
メッセージ1/3 (123 閲覧回数)
返信
0 件の賞賛
解決策
トピック作成者REGNが受理
‎04-11-2017 12:35 AM

Re: 2D配列の列あるいは行の和をとって1D配列を作成する方法

>>for 文と配列要素の和の関数を使用すれば

 

こういうことですよね・・

170410-sample1.png

 

これよりスマートというのはなかなか難しいと思います。

1024行100列程度であってもおそらく、実装も実行速度も、これが一番速いのではないかと(最も効率よくコード化されると思います、多分)。

0 件の賞賛
メッセージ2/3 (103 閲覧回数)
返信
0 件の賞賛

Re: 2D配列の列あるいは行の和をとって1D配列を作成する方法

ご回答ありがとうございます。

やはりそうなんですね…。

普段使っている別のプログラム言語ではこういう操作をする関数が用意されていたのでそれが普通かと思っていました。

しかし、確かに c 言語なんかでも for 文で頑張っていましたし、こっちが普通ということなんでしょうね。

何はともあれすっきりしました。

ありがとうございました。

0 件の賞賛
メッセージ3/3 (83 閲覧回数)
返信
0 件の賞賛