多维动态记忆向量c++; 我在C++中做这个程序。 我想构建一个包含随机行和3列的表。当我编译时,没有错误,但我执行程序,什么也不做,什么也不写。你能帮我找出我的错误吗
谢谢多维动态记忆向量c++; 我在C++中做这个程序。 我想构建一个包含随机行和3列的表。当我编译时,没有错误,但我执行程序,什么也不做,什么也不写。你能帮我找出我的错误吗,c++,vector,dynamic-memory-allocation,C++,Vector,Dynamic Memory Allocation,谢谢 int main(){ srand(time(0)); int project = (rand() % 5) + 1 ; std::cout << "The Number is " << project << "." << std::endl; vector<vector<int> > P(project, vector<int>(3)); for(int i = 0; i <= P.siz
int main(){
srand(time(0));
int project = (rand() % 5) + 1 ;
std::cout << "The Number is " << project << "." << std::endl;
vector<vector<int> > P(project, vector<int>(3));
for(int i = 0; i <= P.size(); ++i){
for(int j = 0;j <= P[i].size();++j){
P[i][j] = (rand() % 50)+10;
P[i][j] = (rand() % 2)+1;
P[i][j] = (rand() % 50)+1;
}
}
for(int a = 0;a <= P.size();++a){
for(int j = 0;j <= P[a].size();++j){
std::cout << "Project "<< a <<" :"<< P[a][j] ;
std::cout << P[a][j] <<" , ";
std::cout << P[a][j] <<" ."<< std::endl;
}
}
intmain(){
srand(时间(0));
int project=(rand()%5)+1;
std::cout有两个问题,你应该使用size\u t
来代替int
来进行循环,你在循环中按一个进行检查。例如,它应该是i
而不是i这在大多数情况下都不是很重要,但您可能还想注意,应该使用MAX_RANGE来确保随机数均匀分布,现在您的分布有点倾斜。现在出现了一些问题。但我的问题是,它一直在写3次相同的东西,比如000111222…size_t只是一个typedef int(未签名)@user2152947我修改了我的答案以解决这个问题,我对您的意图有点困惑。@GeraldSv看到前面的线程了吗?当您在调试器中单步执行程序时会发生什么?
for(size_t i = 0; i < P.size(); ++i)
{
for(size_t j = 0;j < P[i].size();++j)
{
P[i][j] = (rand() % 50)+10;
P[i][j] = (rand() % 2)+1;
P[i][j] = (rand() % 50)+1;
}
}
for(size_t a = 0;a < P.size();++a)
{
for(size_t j = 0;j < P[a].size();++j)
{
std::cout << "Project "<< a <<" :"<< P[a][j] << std::endl;
}
}