Sympa comme problème je trouve 
Bon, voila la version en C avec les méthodes proposées :
 
Code :
 - void rotation(double **mat, int n){
 - 	int i,j;
 - 	double tmp,N=(double)n;
 - 	for(i=0;i<floor(N/2);i++)
 -   for(j=i;j<n-i-1;j++){
 -   	tmp=mat[i][j];
 -   	mat[i][j]=mat[n-j-1][i];
 -   	mat[n-j-1][i]=mat[n-i-1][n-j-1];
 -   	mat[n-i-1][n-j-1]=mat[j][n-i-1];
 -   	mat[j][n-i-1]=tmp;}
 - }
 
  | 
 
Testé avec matrices de dimentions 1 à 5, devrait marcher partout.
Bravo darkoli pour l'idée et à Lan Wezel pour le détail de fin^^
 
Message édité par dark86 le 10-03-2005 à 23:25:09