我希望更改我在这里找到的游戏TOH here
的代码我想让它询问多少磁盘...然后输入3.然后我会在代码中的数组中将[8]改为[3]。还是有更好的方法吗?
我正在研究并发现this,但它在二维数组中不起作用。
如何在此处使用向量..将行[8]更改为用户输入的..
struct World{
int t[3][8];
int cursor;
int chosen;
};
我的int main是要求“多少行......”的那个?
答案 0 :(得分:1)
请改用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;
}