在这里,我正在创建一个程序,可以在其中添加弹子。我还为输入的大理石数量分配了一个随机名称,因此为什么要使用名称数组。我的名称数组的大小为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 ------------安德鲁