codice:
int* counting(int v[], int n, int k){
int tmp[50], c[10];
int i;
for(i = 0; i < k; i++) c[i] = 0;
for(i= 0; i < n; i++) c[v[i]] = c[v[i]] + 1;
for(i = 1; i < n; i++) c[v[i]] = c[i] + c[i - 1];
for(i = n - 1; i >= 0; i--){
tmp[c[v[i]]] = v[i];
c[v[i]] = c[v[i]] - 1;
}
for(i = 0; i < n; i++) v[i] = tmp[i];
return v;
}
void main(){
int v[] = {3,6,9,1,2,1,4,3,1,7};
counting(v, 10, 9);
for(int i = 0; i < 10; i++)
cout<<v[i]<<" ";
}
Faccio partire il programma, appena entra nella funzione mi appare il seguente errore:
Stack around the variable 'tmp' was corrupted." (Interrompi, riprova, annulla)
Che vuol dire?
VVoVe: