我正在寻找更改我在这里找到的游戏 TOH 的代码
我想让它询问有多少磁盘...然后如果输入 3。然后我会将代码中所有数组的 [8] 更改为 [3]。还是有更好的方法?
我正在研究并发现这一点,但它在二维数组中不起作用。
我如何在这里使用向量..将行 [8] 更改为用户输入..
struct World{
int t[3][8];
int cursor;
int chosen;
};
我的 int main 是在哪里询问“多少行......”?
改用 a std::vector<std::vector<int>>
。这会自动处理动态分配。
例如:
#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;
}