数字循环超出我的期望

时间:2019-04-07 21:58:34

标签: c++ arrays loops random

在这里,我正在创建一个程序,可以在其中添加弹子。我还为输入的大理石数量分配了一个随机名称,因此为什么要使用名称数组。我的名称数组的大小为10,并包含十个名称值。当我向袋子中添加弹子时,我的代码循环遍历,并说我向袋子中添加了5个弹子,而不是去:0 ----- Andrew,1 ----- Dustin,依此类推,直到5它实际上循环了6次。

我尝试使用我的for循环和数组。

void addmarbles(){

int x;
        cout<< "how many random marbles would you like to enter?" << endl;
          cin >>choice;



srand(time(0));




          for(int i=0; i<arraysize; i++) {

for(x = 0; x<=choice; x++){
int index = rand() % arraysize;

            string swap = names[i];
            names[i] = names[index];
            names[index] = swap;
cout<< x<< "------------" << names[index] <<endl;
}
}



              bag += choice;
                cout << "The current amount of marbles in the bag is: "<< bag <<endl;

                main();

}

预期输出,如果我添加5个弹珠为:

0 ------------安德鲁 1 ------------维奇 2 ------------乔什 3 ------------布兰登 4 ------------瑞安 5 ------------达斯汀

而是它:

0 ------------安德鲁 1 ------------安德鲁 2 ------------维奇 3 ------------乔什 4 ------------乔什 5 ------------瑞安 0 ------------维基 1 ------------维奇 2 ------------瑞安 3 ------------乔什 4 ------------达斯汀 5 ------------标记 0 ------------布兰登 1 ------------贾斯汀 2 ------------ smitty 3 ------------布兰登 4 ------------贾斯汀 5 ------------卡特 0 ------------瑞安 1 ------------乔什 2 ------------贾斯汀 3 ------------安德鲁 4 ------------标记 5 ------------贾斯汀 0 ------------维基 1 ------------贾斯汀 2 ------------卡特 3 ------------安德鲁 4 ------------维奇 5 ------------安德鲁 0 ------------维基 1 ------------布兰登 2 ------------维奇 3 ------------维奇 4 ------------安德鲁 5 ------------达斯汀 0 ------------贾斯汀 1 ------------贾斯汀 2 ------------标记 3 ------------标记 4 ------------安德鲁 5 ------------瑞安 0 ------------布兰登 1 ------------布兰登 2 ------------标记 3 ------------瑞安 4 ------------标记 5 ------------布兰登 0 ------------卡特 1 ------------贾斯汀 2 ------------达斯汀 3 ------------贾斯汀 4 ------------标记 5 ------------达斯汀 0 ------------贾斯汀 1 ------------乔什 2 ------------维奇 3 ------------卡特 4 ------------贾斯汀 5 ------------安德鲁

0 个答案:

没有答案