Próbuję w ramach ćwiczenia lekcji 14 C++ posrtować bąbelkowo liczby, które sam zapodam z klawiatury.
Program się kompiluje ale po uruchomieniu dostaję w konsoli następujący komunikat :
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Poniżej mój kod programu:
#include <iostream>
using namespace std;
void sortowanie_babelkowe(int *tab,int n)
{
for(int i=1;i<n;i++)
{
for(int j=n-1; j>=1; j--)
if (tab[j]<tab[j-1])
{
int bufor;
bufor=tab[j-1];
tab[j-1]=tab[j];
tab[j]=bufor;
}
}
}
int main()
{
int *tablica;
int n;
tablica = new int[n];
cout<<"Ile wyrazow w tablicy mam posortowac?"<<endl;
cin>>n;
for(int i=0;i<n;i++)
{
cout<<"Podaj "<<i<<" wyraz tablicy"<<endl;
cin>>tablica[i];
}
cout<<"Posortowane wyrazy w tablicy (babelkowo): "<<endl;
sortowanie_babelkowe(tablica,n);
for(int i=0;i<n;i++)
{
cout<<tablica[i];
}
delete [] tablica;
return 0;
}
Czy ktoś może mi wytłumaczyć co mam (a pewnie mam) źle i co oznacza komunikat, który generuje mi konsola? Dziękuję.