Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;完美的洗牌逻辑错误,我似乎无法修复它?_C++_Arrays_Sorting - Fatal编程技术网

C++ C++;完美的洗牌逻辑错误,我似乎无法修复它?

C++ C++;完美的洗牌逻辑错误,我似乎无法修复它?,c++,arrays,sorting,C++,Arrays,Sorting,该代码应该对整数数组执行完美洗牌 洗牌是将前半部分与后半部分交错排列而成的序列 将中间的卡移动到前面。例如,完美的洗牌 {1,2,3,4,5,6,7,8,9,10}是{6,1,7,2,8,3,9,4,10,5}。我的代码的问题是它没有显示所需的输出,而是显示随机数和。提前谢谢 代码如下: #包括 #包括 使用名称空间std; int main() { int userArray[25],a[20],b[20]; inti,sizeofarray,half,j,m; A:cout>sizeofar

该代码应该对整数数组执行完美洗牌 洗牌是将前半部分与后半部分交错排列而成的序列 将中间的卡移动到前面。例如,完美的洗牌 {1,2,3,4,5,6,7,8,9,10}是{6,1,7,2,8,3,9,4,10,5}。我的代码的问题是它没有显示所需的输出,而是显示随机数和。提前谢谢

代码如下:

#包括
#包括
使用名称空间std;
int main()
{
int userArray[25],a[20],b[20];
inti,sizeofarray,half,j,m;
A:cout>sizeofarray;
如果(sizeofarray%2!=0)
{
coutuserarray[i];
}

//对于(i=0;i出于调试原因,您应该将编写用户输入的过程与编写算法本身分开。因为使用代码中编写的测试用例进行测试可以节省大量时间

我会这样写洗牌算法:(编辑)

for(int i=0;i
本例假设您的输出(洗牌)数组名为ShufferRay,输入数组名为arr,并且您有一个名为size的整数变量


它只适用于二进制洗牌。如果你想按3或4洗牌,可能会有点不同。

我以前使用数组来获得上半部分和下半部分
mYou不应该以你显示的方式分别输出a和b来洗牌。好的,我会尝试,谢谢。但是为什么mArray索引是0..size-1,所以for循环条件是