Таким образом, если мы начнем сверху, в функции calculateRand()
возникнет проблема, поскольку вы не объявляете переменные UPPER
и LOWER
или не передаете их в качестве параметров в функцию.Функция свопа в порядке.В функции BubbleSort()
вам нужно уменьшить значение переменной up
после цикла for.
while(up>1)
{
for(i=1; i<up-1; i++)
{
if(S[i]>S[i+1])
{
swap(&S[i], &S[i+1]);
j++;
}
}
up--;
}
Также с этого момента вы должны начать итерацию с 0 вместо 1, так как массивы начинаются с индекса 0. Таким образом, for(i=0; i<up-1; i++)
- правильный путь.
Наконец, в *Функция 1012 *, когда вы объявляете переменную массива S
, вы не должны передавать sizeof(n)
, поскольку n
является целым числом, а размер целого числа равен 4. Вместо этого вы хотите использовать n
как есть int S[n];
Для заполнения цикла массив должен доходить до n
, а не n-1
, если вы хотите заполнить все элементы массива.Однако, если вы измените это, вам нужно будет сделать аналогичное изменение в функции BubbleSort()
.
И, наконец, в вызове функции BubbleSort()
вы передаете последний элемент массива, который является целым числом, тогда какФункция ожидает, что вы передадите массив.Это должно выглядеть так BubbleSort(S, n);
.