多维动态记忆向量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;  
 }
}