C++ 如何计算向量[5][1]N次 的项目。 vector[0][0] = 1 vector[1][0] = 2 vector[2][0] = 3 vector[3][0] = 4 vector[4][0] = 5
然后,我将一个计数添加到第二维度 例如: 我想计算第一维和第二维的次数 如果我能把向量[0][0]17乘以向量[1][0]24次,等等 我3周前才开始学习,教授的反应非常迟钝,所以我非常感谢所有的反馈 我有一个二维向量[5][1]C++ 如何计算向量[5][1]N次 的项目。 vector[0][0] = 1 vector[1][0] = 2 vector[2][0] = 3 vector[3][0] = 4 vector[4][0] = 5,c++,vector,cout,C++,Vector,Cout,然后,我将一个计数添加到第二维度 例如: 我想计算第一维和第二维的次数 如果我能把向量[0][0]17乘以向量[1][0]24次,等等 我3周前才开始学习,教授的反应非常迟钝,所以我非常感谢所有的反馈 我有一个二维向量[5][1] vector[0][0] = 1 vector[1][0] = 2 vector[2][0] = 3 vector[3][0] = 4 vector[4][0] = 5 我假设您的声明是int vector[5][1](但您应该在问题中澄清) 这意味着第一个维度的有
vector[0][0] = 1
vector[1][0] = 2
vector[2][0] = 3
vector[3][0] = 4
vector[4][0] = 5
我假设您的声明是int vector[5][1]
(但您应该在问题中澄清)
这意味着第一个维度的有效索引从0
到4
不等。对于第二个维度,唯一有效的索引是0
当您执行vector[0][1]
等操作时,您会越界,因此您有未定义的行为。如果希望在第二维中存储两个元素,则需要使用int vector[5][2]
回到你的问题上来。假设你修正了声明 我想计算第一维和第二维的次数 想一想你会怎么连续做 第一维度 好的,那么
std::cout << vector[row_idx][0];
现在对每行执行以下操作:
std::size_t num_rows = 5;
for (std::size_t row_idx = 0; row_idx < num_rows; ++row_idx)
{
for (int repeat = 0; repeat < vector[row_idx][1]; ++repeat)
{
std::cout << vector[row_idx][0];
}
std::cout << endl;
}
std::size\t num\u rows=5;
对于(std::size_t row_idx=0;row_idx
vector[0][0] = 1
vector[1][0] = 2
vector[2][0] = 3
vector[3][0] = 4
vector[4][0] = 5
我假设您的声明是int vector[5][1]
(但您应该在问题中澄清)
这意味着第一个维度的有效索引是从0
到4
的范围。第二个维度的唯一有效索引是0
当您执行向量[0][1]
等操作时,您会越界,因此您有未定义的行为。如果您希望在第二维度中存储两个元素,则需要使用int vector[5][2]
回到你的问题,假设你修正了声明
我想计算第一维和第二维的次数
想一想你会怎么连续做
第一维度
好的,那么
std::cout << vector[row_idx][0];
现在对每行执行以下操作:
std::size_t num_rows = 5;
for (std::size_t row_idx = 0; row_idx < num_rows; ++row_idx)
{
for (int repeat = 0; repeat < vector[row_idx][1]; ++repeat)
{
std::cout << vector[row_idx][0];
}
std::cout << endl;
}
std::size\t num\u rows=5;
对于(std::size_t row_idx=0;row_idx std::cout不应该将变量声明为向量[5][2]?演示如何声明vector
不应该将变量声明为向量[5][2]?展示您如何声明vector
Yes!非常感谢您指出第二维度的错误!至于代码的其余部分,它工作得非常好!感谢您的解决方案是的!非常感谢您指出第二维度的错误!至于代码的其余部分,它工作得非常好!谢谢您的解决方案离子