• ベストアンサー

クラス内での二次元配列の定義

今、1次連立方程式を解くプログラムを作っているのですが、方程式の大きさが分からないことには解けないですよね。のでNEWを使って動的配列を作ったつもりでしたが、出来ません。こんな感じで書いたんです。 class epu{ double *data; ... epu(int a){ n=a; data=new double[n][n]; } どうすればいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.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] と使う。 ・そもそも欲しいのは二次元配列ではなく、行列なので、どこかの行列クラスライブラリを使う

fuuuu3
質問者

お礼

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

関連するQ&A