Я попытался сгенерировать 25 массивов, каждый из которых должен содержать числа от 1 до 25 без повторений и не по порядку.Я выполнил код для генерации массива, повторений не было.Когда я пытался отобразить массив в 2D-массив, в массиве были повторяющиеся числа.
Вот мой код
int permutation(int arraystore[]){
int item[25], index;
for (int x = 0; x < 25; x++)
item[x] = x; //input values into item array
for (int x = 25; x > 0; x--) {
index = rand() % x; //generate random numbers
arraystore[x] = item[index];
while (index < x - 1) {
item[index] = item[index + 1];
index++;
}
}
}
Я сопоставляю массив с массивом 2d в main
int main(){
int ddarray[25][25];
for(int j=0;j<25)
for(int i=0;i<25;i++){
int array[25];
permutation(array);
ddarray[j][i]=array[i];
}
}
Вот некоторые результаты
192, 9 , 7 , 3, 11 , 20,18, 9 23 11 , 21,5, * +1021 * 11 * * тысяча двадцать два, 17,5,12, 11 , 3,10 * тысяча двадцать-пять* 9 , 2,5, 7 , 7 , 19, 192, 5 , 0,14,23,22, 6* * тысяча тридцать четыре, 2, 20 * * тысяча тридцать-шести, 24,13,12, 21 * * тысяча тридцать восемь, 24, 21 , 6,11 * 1 041 * 21 * * тысяча сорок два,1, 20 , 5 , 8, 6 , 12,15, 192,21, 6 , 14 , * * 14 тысячу пятьдесят-три * 1 054 *, * +1055 * 11 * 1 056 *, 11 , 8,17,19,9 24 , * * 22 тысячу шестьдесят-одна , 6 , 24 * тысячу шестьдесят-шесть *, 11 , 2 , 22 * 1072 *, 6 , 13, 2 , 18,6,14,20,
Я что-то не так сделал в функции перестановки или что-то пропустил?
Спасибо за ответ на мой вопрос!