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: