1. Skoro tablicę deklarujesz dynamicznie tzn. dopiero wczytujesz jej rozmiar z klawiatury, a nie jest znany z góry to powinno być:
int* liczby = new int [ilosc];
Alternatywnie możesz dla uproszczenia założyć, że liczb nie będznie nigdy więcej niż np. 100 i zrobić tak:
int liczby[100];
Lub odrobinkę bardziej "rozszerzalnie":
const int rozmiar = 100;
int liczby[rozmiar];
2. Deklarując tablicę podając jako rozmar zmienną ilość deklarujesz tabicę o indeksach:
0, 1, 2, ..., ilosc - 1
Powoduje to, że gdy robisz:
cin>>liczby[ilosc];
powoduje to wyjscie za tablicę, bo komórka o indeksie "ilosc" nie jest zadeklarowana.
3. Aby wczytywać dane potrzebujesz dodatkowej pętli ponieważ chcesz doprowadzić do tego, aby pierwsza liczba znalazła się w komórce liczby[0], druga liczby[1] itd. Robiąc tak jak Ty (zakładając, że nie doszłoby do wyżej wspomnianego wyjścia za tablicę) wszystkie liczby trafiłyby w tą samą komórkę i każda kolejna nadpisałaby poprzednią, a tego nie chcesz :)
Pozdrawiam,