Witam. Próbuję posegregować tablicę znaków alfabetycznie. Wymyśliłem taki kod:
#include <iostream>
#include <string>
using namespace std;
string n[150];
int nn;
string temp;
bool zmiana;
void sort(int x=0)
{
if (n[x]>n[x+1])
{
temp=n[x];
n[x]=n[x+1];
n[x+1]=temp;
zmiana=true;
}
if (x<nn-1)
{
sort(x++);
}
else
{
if (zmiana==true)
{
zmiana=false;
sort();
}
}
}
int main()
{
cin>>nn;
for(int x=0;x<nn;x++)
{
cin >> n[x];
}
sort();
for (int z=0;z<nn;z++)
{
cout<<n[z]<<endl;
}
return 0;
}
Niestety program kończy działanie bez podania wyniku z kodem błędu:-1073741819
Podejrzewam, że to przez tą zagmatwaną referencję, ale nie jestem pewien. Mógłby mi ktoś powiedzieć o co chodzi?
Napisałem sobie ten program iteracyjnie i dostałem za niego 100 pkt, ale mimo to chciałbym się dowiedzieć, czemu ten nie działa. Czy jest to przeładowanie stosu?