0

プログラムの開始時に空の配列を持ち、実行時にそれを埋め、その中のものを削除できるようにしたいと考えています。これはおそらく多次元配列でなければなりません。それで、どうすればこれを行うことができますか?

元。

int randomNumber;
int RandomString;
int array[] = {};
for(int i;int i < 10; int i ++){

array + random variable;
array + random string;

}

したがって、その後は次のようになります。

array[] = {{randomint,randomstring},{randomint, rrandomstring}}

これは可能ですか?

4

4 に答える 4

6

std::vector代わりにandを使用しpush_back()ます。言っ途切れる。

于 2012-09-24T22:56:58.227 に答える
0

事前定義された変数を配列に追加する場合、保持したいものが 2 つある可能性があります。1 つは変数の値で、2 つ目は変数自体です。

非常に単純な変数の値を取得したい場合、動的データ型ではなく配列に値を取得したい場合は、配列の動的拡張のために制限されたサイズの配列を宣言する必要があります。いくつかの型を使用する必要がありますベクトルやリンクされたリストのようなデータ構造の値を追加し、そこに変数の値を追加しますが、変数自体を保持したい場合は、ポインターの配列を宣言し、変数のアドレスを保存する必要があります。その配列を使用してこれらの変数にアクセスできます。

于 2012-09-24T23:02:42.123 に答える
0

リスト、マップ、ベクターのいずれであっても、使用するコンテナについて考える必要があります。それらにはすべて長所と短所があります。決定を下す前に、もう少し宿題をしてください。私の直感は、ベクトルまたはリストのリストのいずれかを言います。空のものが必要であり、それに追加するためだけです。このコンテナが注文されるかどうか、およびそれを列挙する必要があるかどうかを検討してください。

于 2012-09-24T23:25:23.880 に答える
0

あなたがする必要があるのは、ペアを含むベクトル マップを作成することです。
次に、データをループするときに、新しいペアを作成し、必要な値を割り当てます。
次に、それをベクトルにプッシュします。

int randomNumber = 0;
string randomString = "test";

map< int, vector <pair< int, string >>> myArray;

for ( int i = 0; i < 10; i++ )
{
    pair<int, string> p;
    p.first = randomNumber;
    p.second = randomString;

    myArray[i].push_back(p);
}
于 2012-09-25T08:28:17.373 に答える