- ベストアンサー
クラス内での二次元配列の定義
今、1次連立方程式を解くプログラムを作っているのですが、方程式の大きさが分からないことには解けないですよね。のでNEWを使って動的配列を作ったつもりでしたが、出来ません。こんな感じで書いたんです。 class epu{ double *data; ... epu(int a){ n=a; data=new double[n][n]; } どうすればいいでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
大きさが可変な二次元配列を扱うなら、以下のみっつのアプローチがあるかな。 ・一次元配列として使う data = new double[n * n]; と確保して、使うときには data[i * n + j] と使う。 ・配列の配列を使う data = new *double[n]; for (int i = 0 ; i < n ; ++i) { data[i] = new double[n]; } と確保して、使うときには data[i][j] と使う。 ・そもそも欲しいのは二次元配列ではなく、行列なので、どこかの行列クラスライブラリを使う
お礼
ありがとうございます。助かりました。