Предполагается, что код выполняет совершенное перемешивание массива целых чисел. Совершенное перемешивание - это последовательность, полученная путем чередования его первой половины со второй половиной, всегда перемещая среднюю карту вперед. Например, идеальный случайный порядок {1,2,3,4,5,6,7,8,9,10} равен {6,1,7,2,8,3,9,4,10,5} Проблема с моим кодом в том, что он не отображает желаемый результат, вместо этого он показывает сумму случайных чисел. Заранее спасибо
Вот код:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int userArray[25], a[20], b[20];
int i, sizeofarray, half, j, m;
A: cout << "Enter SIZE of even numbers: ";
cin >> sizeofarray;
if (sizeofarray % 2 != 0)
{
cout << "Wrong Input!!,you should enter an even size (2,4,...)";
system("PAUSE");
system("CLS");
goto A;
}
cout << "Enter numbers: \n";
for (i = 0; i < sizeofarray; i++)
{
cin >> userArray[i];
}
// for(i=0;i<sizeofarray;i++)
//{
half = sizeofarray / 2;
cout << "The perfect shuffle is: \n";
for (j = 0; j <= half; j++)
{
a[j] = userArray[j];
cout << a[j];
}
for (m = half; m <= sizeofarray; m++)
{
b[m] = userArray[m];
cout << b[m];
}
//}
return 0;
}