Тема: Сортування масивів (бульбашковий метод)
Допоможіть знайти помилку, будь ласка.
Завдання:
Відсортувати масив за зростанням методом обміну, виконуючи сортування елементів, які перевищують надане число.
Мій код:
#include <stdio.h>
#include <ctime>
#include <iostream>
#define N 10
int main()
{
srand(time(NULL));
int arr[N];
int n, k, b, i, t;
char a;
printf("Input dimention of array: n is the number of rows \n");
do
{
printf("Input n (n >= 1) = ");
scanf_s("%d", &n);
} while (n < 1);
printf("Input value of k \n");
printf("Input k = ");
scanf_s("%d", &k);
printf("Use random values? Y/N\n");
scanf_s(" %c", &a);
if (a == 'Y')
{
printf("Yes n = %d\n", n);
for (i = 0; i < n; i++)
{
arr[i]= rand()%100;
printf("\t%d", arr[i]);
}
printf("\n");
}
else if (a == 'N')
{
printf("\nInput elements of array:\n");
for (i = 0; i < n; i++)
{
printf("Input a[%d] = ", i);
scanf_s("%d", &arr[i]);
}
}
for (b = 1; b < n; b++)
{
for (i = 0; i < (n - b); i++)
{if ((arr[i] > k)&&(arr[i + 1] > k) && (arr[i] > arr[i + 1]))
{
t = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = t;
}
}
}
for (i = 0; i < n; i++)
{
printf("\t%d", arr[i]);
}
return 0;
}