0

ここで見つけたゲームTOHのコードをここで変更したいと思っています

ディスクの数を尋ねたいのですが...入力された場合3.次に、コード内のアレイ全体で[8]を[3]に変更します。それとももっと良いアプローチはありますか?

私は調査してこれを見つけましが、2Dアレイではそのようには機能しません。

ここでベクトルを使用して、行[8]をユーザー入力に変更するにはどうすればよいですか。

struct World{

   int t[3][8];
   int cursor;
   int chosen;

};

私のintmainは、「行数...」を要求するものですか?

4

1 に答える 1

1

std::vector<std::vector<int>>代わりにaを使用してください。これにより、動的割り当てが自動的に処理されます。

例えば:

#include <iostream>
#include <vector>

int main()
{
    //
    // *** Validation of input omitted: you must do this. ***
    //
    size_t rows;
    std::cout << "Enter number of rows: ";
    std::cin >> rows;

    std::cout << "Enter number of columns: ";
    size_t columns;
    std::cin >> columns;

    std::vector<std::vector<int> > ints(rows, std::vector<int>(columns));

    for (size_t ri = 0; ri < rows; ri++)
    {
        for (size_t ci = 0; ci < columns; ci++)
        {
            std::cout << "Enter value for [" << ri << ", " << ci << "]: ";
            std::cin >> ints[ri][ci];
        }
    }

    for (size_t ri = 0; ri < ints.size(); ri++)
    {
        for (size_t ci = 0, size = ints[ri].size(); ci < size; ci++)
        {
            std::cout << "["
                      << ri
                      << ", "
                      << ci
                      << "]="
                      << ints[ri][ci]
                      << "\n";
        }
    }

    return 0;
}
于 2012-09-13T11:48:32.570 に答える