Función en C para obtener la transpuesta de una matriz

Entrada
n: dimension de la matriz ( es de nxn)
a: matriz de nxn
Salida
Regresa la traspuesta de a en el mismo array de entrada

[sourcecode language='c']void Transpose(double **a,int n)
{
int i,j;
double tmp;

for (i=1;i for (j=0;j tmp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = tmp;
}
}
} [/sourcecode]