ユーザーの入力に基づいてデータを保存する必要があります。私のプログラムは、私がcinから得たint値に基づいて異なるデータ構造を作成する必要があります。例えばユーザー指定の寸法を持つ行列を作成する方法
、0格納スカラー値、1 - ベクトル、2 - 2dArray、3 - 3dArray、4 - 4Dアレイなど...
私の質問は、それが一部を書き込むことができるのかどうかでありますこれを行うコード。
これは混乱するかもしれないことは知っていますので、いくつか例を挙げておきます。
ユーザーが0 5を入力すると、私のプログラムはint変数を作成し、その中に5を格納する必要があります。
ユーザが1 5,7,6を入力した場合、私のプログラムはベクトル= {5,7,6}を作成する必要があります。
ユーザが2 2,3 1,2,3,4,5,6を入力した場合、私のプログラムは2次元配列a [2] [3]を作成し、そこに値を格納する必要があります。私は、ユーザーが持ってしようとしている次元の最大数を知っていたが、割り当ての目標は、任意の数の次元を指定することができるということであるならば、私は解決策を見つけ出すことができ
...
ヘルプしてください
次元数の制限を定義しない限り、無限に再帰的になります(n次元配列は(n-1)次元配列の配列なので、不可能です。あなたがバインドを指定しない限り、無限に再帰的な型定義が必要です)。あなたができることは、1次元配列(またはベクトル)を使用してインデックスを管理して、求めている動作をエミュレートすることです。実際には、10以上の次元が必要とされる現実世界のアプリケーションはほとんどなく、そのような配列のメモリ使用量は、とにかに利用可能なメモリをすぐに超えてしまいます。 – Peter
私はエミュレーションについても考えていました。もっと詳しく記述できますか?あなたはそれをどのように実装しますか? – kozouu
次元の積に等しいサイズの配列を割り当てます。それは、多次元配列が有する要素の数を有する。一連のインデックスと1次元配列のインデックスとの間のマッピングを実行します。 – Peter