esta solo es la tranpusta pero tiene unos detalles que te gustaran
#include<stdio.h>
#include<conio.h>
int a=1,m=0,n=0,i,o,h,g,num;
int d,f,q,w;
int nul=0,cero=0,b=0;
int mat[10][10],mat2[10][10]; /*este programa tranforma las mtricez a su tranpuesta
ademas contine titulos sobre lo que se esta efectuando, agrege para que
identificara matrz cuadrada, nula y cuando las dimensiones no correspondan */
void matriz (int y,int z){ /*funcion para que escriba la matriz A*/
for (h=1;h<=y;h++){
for (g=1;g<=z;g++){
printf ("%d ",mat[h][g]);
if (g==z){
printf("\n");}}}
}
main(){
while (a==1){
gotoxy (30,1);
printf ("\"* MATRIZ TRAMPUESTA *\"\n");
printf("\nescribe las dimenciones de la matriz m*n : ");
scanf ("%d",&m);
gotoxy(45,3);
printf ("*");
gotoxy(46,3);
scanf ("%d",&n);
clrscr ();
if (m<=1||n<=1){
gotoxy (32,1);
printf ("\"* ERROR *\"\n");
printf ("\n* no se puede realizar la accion * \nlas dimensiones no corresponden a una matriz");
}
else{
for (i=1;i<=m;i++){
for (o=1;o<=n;o++){
gotoxy (27,1);
printf ("\"* LLENADO DE UNA MATRIZ *\"\n");
gotoxy (1,3);
printf ("escribe un numero en la posicion i=%d j=%d: ",i,o);
scanf ("%d",&num);
mat[i][o]=num;
nul=m*n;
if (num==0){
cero=cero+1;
}
clrscr ();
}}
if (cero==nul){
gotoxy (32,1);
printf ("\"* ERROR *\"");
printf ("\n\n* no se puede realizar la accion *\n la matriz es nula A=0\n\n");
b=1;
if (m==n){
printf ("* NOTA:has elegido una matriz cuadrada *");
}
printf ("\n\nLA MATRIZ ES :\n\n");
matriz(n,m);
}
if (b==0){
gotoxy (30,1);
printf ("\"* RESULTADO *\"");
if (m==n){
printf ("\n\n* NOTA:has elegido una matriz cuadrada *\n");
}
printf ("\nLA MATRIZ ES:\n\n");
matriz(n,m);
for (d=1;d<=m;d++){
for (f=1;f<=n;f++){
mat2[f][d]=mat[d][f];}}
printf ("\nLA MATRIZ TRAMPUESTA ES:\n\n");
for (q=1;q<=n;q++){
for (w=1;w<=m;w++){
printf ("%d ",mat2[q][w]);
if (w==m){
printf("\n");
}}}
}}
printf ("\n\ndeseas iniciar de nuevo: ");
printf ("\n1. si\n2. no\n");
printf ("digita un numero : ");
scanf ("%d",&a);
if (a<=1 || a>2 ){
a=1;}
else
a=2;
clrscr (); }
gotoxy (34,12);
printf ("** GRACIAS **");
return (0);} /*terminado 6 de junio a las 5:00 pm creado por deyner hernandez vargas*/