Título: duda con ejercicio de matrices
Publicado por: andoporto en 6 Febrero 2015, 22:47 pm
Hola, tengo la siguiente codificación, debe calcular las diagonales principal y secundaria, el triángulo superior y la traza, no sé porqué pero no me acumula la variable de traza, qie puede ser? #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); }
}
Título: Re: duda con ejercicio de matrices
Publicado por: engel lex en 6 Febrero 2015, 23:00 pm
ejecuto tu programa y si acumula... muestra que datos introduces y cuales esperas...
por cierto, evita usar conio, no es parte del standrad c, sin contar que este programa no lo necesita
|