0

私はまだ...C++の初心者です。探しているものの名​​前はわかりませんが、たくさん検索していますが、次の質問に対する答えが見つからないようです。要求された数の変数を宣言するプログラムを作成したいと思います。例:

int a;
cin>>a;

ここで、「a」が5(またはその他の数値)の場合、プログラムでさらに5つの変数を宣言する必要があります。名前は重要ではありませんが、たとえば... n1、n2、n3、n4、n5とします。配列とforループを試しましたが、動作させることができません。クロアチアのフォーラム(forum.hr)で回答を得ましたが、フォーラムは現在オフラインであるため、試す時間がありませんでした...事前にスタックThxの代わりにヒープを使用することでした

4

3 に答える 3

2

C++ には、この目的のためのコンテナー クラスがあります。特に、次のものが必要ですvector

std::vector<int> a(size);
for (int i = 0; i < a.size(); ++i)
    std::cin >> a[i];

あるサイズの整数のベクトルを宣言し、aその要素を 1 つずつ読み取ります。

于 2012-10-06T20:52:59.307 に答える
1

これが C++ の場合std::vector、メモリを管理してくれるので、使用するのが最善です。

于 2012-10-06T20:51:40.447 に答える
1

それらを配列に格納できます。

int a;
cin >> a;

int *number = new int[a];  // allocate an array of size a

for (int i = 0; i < a; i++) {
    number[i] = 5 + i;     // set your numbers to anything here
}

delete[] number;             // otherwise you have memory leak

またはより良い使用vector:

vector<int> number(a);

// iterate with a normal for loop
for (int i = 0; i < number.size(); i++) {
    number[i] = 5 + i;
}

..

// or use iterators
for (vector<int>::iterator it = number.begin(); it != number.end(); ++it) {
    cout << *it << endl;
}

したがって、メモリを管理する必要はありません。

于 2012-10-06T20:34:59.710 に答える