Código:
#include <stdio.h>
#include <conio.h>
#define fil 2
#define col 2
int menu();
int * cargar_mat (int[fil][col],int* );
void mostrar_DP (int [fil][col]);
void mostrar_DS (int [fil][col]);
void mostrar_TS (int [fil][col]);
void mostrar_TR (int [fil][col]);
int main()
{
int opc,mat[fil][col],cantElem=0;
cargar_mat(mat,&cantElem);
printf("\t escoja una opcion:");
opc=menu();
while(opc!=0)
{
switch(opc)
{
case 1:
{
mostrar_DP(mat);
printf("\n");
//printf("elementos:%d\n",cantElem);
}
break;
case 2:
{
mostrar_DS(mat);
printf("\n");
}
break;
case 3:
{
mostrar_TS(mat);
printf("\n");
}
case 4:
{
mostrar_TR(mat);
printf("\n");
}
default:
{
} break;
}
printf("\t escoja una opcion:\n");
opc=menu();
}
printf("\n");
return 0;
}
int * cargar_mat (int mat[fil][col],int* cantE)
{
int i,j;
for(i=0; i<fil; i++)
{
for(j=0; j<col; j++)
{
printf("ingrese un numero: ");
scanf("%d",&mat[i][j]);
if(mat[i][j]==0)
return cantE;
else
(*cantE)++;
}
}
}
int menu()
{
int opc;
printf("\n");
printf("\n1_ver diagonal principal\n2_ver diagonal secundaria\n3_triangulo superior\n4_traza\n0_salir\n");
scanf("%d",&opc);
printf("\n");
return opc;
}
void mostrar_DP (int m[fil][col])
{
int i;
for(i=0; i<fil; i++)
printf("%d\n",m[i][i]);
}
void mostrar_DS (int m[fil][col])
{
int i;
for(i=0; i<fil; i++)
printf("%d\n",m[i][(col-1)-i]);
}
void mostrar_TS (int m[fil][col])
{
int i;
for(i=0; i<fil; i++)
printf("%d\n",m[i][i]);
}
void mostrar_TR (int m[fil][col])
{
int i;
int acu=0;
for(i=0; i<fil; i++)
{
acu+=m[i][i];
printf("%d\n",acu);
}
}