C/C++

Найдите ошибки в коде пожалуйста, С++ Не работает

#include <iostream>
using namespace std;

// реализация сортировки Шелла
int shellSort(int arr[], int N)
{
for (int gap = N/2; gap > 0; gap /= 2)
{
for (int i = gap; i < N; i += 1)
{
//сортировка подсписков, созданных с помощью gap
int temp = arr[i];

int j;
for (j = i; j >= gap && arr[j - gap] > temp; j -= gap)
arr[j] = arr[j - gap];

arr[j] = temp;
}
}
return 0;
}

int main()
{
int arr[] = {45,23,53,43,18,24,8,95,101}, i;
//Вычислить размер массива
int N = sizeof(arr)/sizeof(arr[0]);

cout << "Array to be sorted: \n";
for (int i=0; i<N; i++)
cout << arr[i] << " ";

shellSort(arr, N);

cout << "\nArray after shell sort: \n";
for (int i=0; i<N; i++)
cout << arr[i] << " ";

return 0;
}
#include <iostream>
using namespace std;

// реализация сортировки Шелла
void shellSort(int arr[], int N)
{
for (int gap = N/2; gap > 0; gap /= 2)
{
for (int i = gap; i < N; i += 1)
{
//сортировка подсписков, созданных с помощью gap
int temp = arr[i];

int j;
for (j = i; j >= gap && arr[j - gap] > temp; j -= gap)
arr[j] = arr[j - gap];

arr[j] = temp;
}
}
}

int main()
{
int arr[] = {45,23,53,43,18,24,8,95,101};
//Вычислить размер массива
int N = sizeof(arr)/sizeof(arr[0]);

cout << "Array to be sorted:" << endl;
for (int i=0; i<N; i++)
cout << arr[i] << " ";

shellSort(arr, N);

cout << "\nArray after shell sort:" << endl;
for (int i=0; i<N; i++)
cout << arr[i] << " ";

return 0;
}
Alexandr Gerbilski
Alexandr Gerbilski
78 032
Лучший ответ
Работает... или так попробуй

 #include  
#include
using namespace std;

void shellSort(vector& arr) {
int n = arr.size();
for (int gap = n / 2; gap > 0; gap /= 2) {
for (int i = gap; i < n; ++i) {
int temp = arr[i];
int j;
for (j = i; j >= gap && arr[j - gap] > temp; j -= gap) {
arr[j] = arr[j - gap];
}
arr[j] = temp;
}
}
}

int main() {
vector arr = {45, 23, 53, 43, 18, 24, 8, 95, 101};

cout
Askar Uzbaev
Askar Uzbaev
61 668
Так всё работает же
С++ это ад полный
Ernar Smagulov
Ernar Smagulov
152