Witam
Mam pewien problem ze spojem mianowicie nie akceptuje rozwiązania co jest dziwne bo program działa poprawnie.
Treść:
Napisać program, który będzie sortował ciąg liczb całkowitych. Długość ciągu jest nieznana. Wiadomo jedynie, że liczba elementów w ciągu nie będzie większa niż 100000 elementów.
Wejście
Na wejściu znajdzie się pewna, nieznana ilość liczb całkowitych.
Wyjście
Na wyjściu znajdą się wszystkie liczby posortowane niemalejąco.
Nie będę oszukiwał ,że korzystam z kodu od Pana Mirosława z 14 odcinka kursu c++.
#include <iostream>
using namespace std;
int ile=10;
void quicksort(int* tablica, int lewy, int prawy)
{
int v = tablica[(lewy + prawy) / 2];
int i, j, x;
i = lewy;
j = prawy;
do
{
while (tablica[i] < v) i++;
while (tablica[j] > v) j--;
if (i <= j)
{
x = tablica[i];
tablica[i] = tablica[j];
tablica[j] = x;
i++;
j--;
}
} while (i <= j);
if (j > lewy) quicksort(tablica, lewy, j);
if (i < prawy) quicksort(tablica, i, prawy);
}
int main()
{
//dynamiczna alokacja tablicy
int* tablica2;
tablica2 = new int[ile];
//wczytywanie losowych liczb do tablicy
for (int i = 0; i < ile; i++)
{
cin >> tablica2[i];
}
quicksort(tablica2, 0, ile - 1);
for(int i=0; i<ile; i++)
{
cout<<tablica2[i]<<" ";
}
delete[] tablica2;
return 0;
}