Matriz que Imprima SI o NO DevC++

Realice un programa matriz que al introducir los datos de la matriz cuadrada me imprima SI en caso de que sea una matriz diagonal o NO en caso que no lo sea

Al correr el programa introduzco las filas y columnas que deseo, EJEMPLO : 3x3, y enseguida me pide los datos EJEMPLO

123

213

321

Como podrán ver si seria matriz diagonal pero al imprimir no me respeta el SI o el NO ... Ya sea que sea matriz o no lo sea siempre me Imprime SI ... No se en que me equivoque, anexo mi código completo

#include <stdio.h>

main()
{
int fila,columna,i,n;
int matriz[100][100];
printf("Ingrese el dimension de fila: ");
scanf("%d",&fila);
printf("Ingrese el dimension de columna: ");
scanf("%d",&columna);

printf("\nMatriz de [%d]x[%d]\n",fila,columna);
printf("\n");
for(i=0;i<fila;i++){
for(n=0;n<columna;n++){
printf("Ingrese el valor de posicion [%d][%d]: ",i+1,n+1);
scanf("%d",&matriz[i][n]);
}
}
int diagonal=1;
printf("\nLa matriz:\n\n");
for(i=0;i<fila;i++){
for(n=0;n<columna;n++){
if( (i!=n) && matriz[i][n]!=0){

diagonal=0;

break;

}

if(!diagonal)
break;

}

if(diagonal){

printf("Si\n");

}else{

printf("No\n");

}

return 0;
printf("\n");
}

return 0;
}

Añade tu respuesta

Haz clic para o