main() { textbackground(BLUE); textcolor(WHITE); int matriz[n][n],op,band; printf("\n\t ** Matriz 4X4 **\n"); do{ printf("\n\n\t --> MENU <--\n"); printf("\n\t1. Capturar Valores\n"); printf("\n\t2. Mostrar Valores\n"); printf("\n\t3. Transpuesta\n"); printf("\n\t4. Salir\n"); printf("\n-->Elige una opcion: "); scanf("%d",&op); switch(op){ case 1: band=1; printf("\n\t---> Captura de Datos\n"); captura(matriz); break; case 2: printf("\n\t---> Mostrar Datos\n"); if(band==1) imprime(matriz); else if(band==2) imprimetrans(matriz); else printf("\n \"No se han Capturado Datos\""); break; case 3: if(band==1) { printf("\n\n\t---> Transpuesta de una Matriz\n"); transpuesta(matriz); } else printf("\n \"No se han Capturado Datos\""); band=2; break; case 4: printf("\n \"Gracias por Utilizar el Programa\""); break; default: printf("\n \"Opcion Incorrecta\""); } }while(op!=4); getch(); return 0; }
void menu(matriz A, matriz B) {int op; limpiar();double x; gotoxy(10,5); cout<<"[1] OBTENER UN ELEMENTO DE A.."; gotoxy(10,6); cout<<"[2] OBTENER UN ELEMENTO DE B.."; gotoxy(10,7); cout<<"[3] ASIGNAR UN ELEMENTO DE A.."; gotoxy(10,8); cout<<"[4] ASIGNAR UN ELEMENTO DE B.."; gotoxy(10,9); cout<<"[5] IGUALAR A<-B.............."; gotoxy(10,10); cout<<"[6] IGUALAR B<-A.............."; gotoxy(10,11); cout<<"[7] SUMAR A + B..............."; gotoxy(10,12); cout<<"[8] NEGATIVA DE A............."; gotoxy(10,13); cout<<"[9] NEGATIVA DE B............."; gotoxy(10,14); cout<<"[10] RESTAR A - B............."; gotoxy(10,15); cout<<"[11] RESTAR B - A............."; gotoxy(10,16); cout<<"[12] ESCALAR PARA A..........."; gotoxy(10,17); cout<<"[13] ESCALAR PARA B..........."; gotoxy(10,18); cout<<"[14] PRODUCTO A * B..........."; gotoxy(10,19); cout<<"[15] PRODUCTO B * A..........."; gotoxy(10,20); cout<<"[16] TRANSPUESTA DE A........."; gotoxy(10,21); cout<<"[17] TRANSPUESTA DE B........."; gotoxy(10,22); cout<<"[18] DETERMINANTE DE A........"; gotoxy(10,23); cout<<"[19] DETERMINANTE DE B........"; gotoxy(10,24); cout<<"[20] INVERSA DE A............."; gotoxy(10,25); cout<<"[21] INVERSA DE B............."; gotoxy(10,26); cout<<"[22] SALIR...................."; do{gotoxy(22,28); cout<<"Seleccione una opcion (1-22): ";cin>>op; if(op<1 || op>22) {gotoxy(20,28);cout<<"Opci¢n incorrecta vuelva a intentar";} }while(op<1 || op>22); switch(op) {case 1: {limpiar();gotoxy(28,4); cout<<"[1] OBTENER UN ELEMENTO DE A.."; obtener(A);menu(A,B);break;} case 2: {limpiar(); gotoxy(28,4); cout<<"[2] OBTENER UN ELEMENTO DE B.."; obtener(B);menu(A,B);break;} case 3: {limpiar(); gotoxy(28,4); cout<<"[3] ASIGNAR UN ELEMENTO DE A.."; imprimir(asignar(A));getchar();menu(A,B);break;} case 4: {limpiar(); gotoxy(28,4); cout<<"[4] ASIGNAR UN ELEMENTO DE B.."; imprimir(asignar(B));getchar();menu(A,B);break;} case 5: {limpiar(); gotoxy(28,4); cout<<"[5] IGUALAR A<-B.............."; imprimir(igual(A,B));menu(A,B);break;} case 6: {limpiar(); gotoxy(28,4); cout<<"[6] IGUALAR B<-A.............."; imprimir(igual(B,A));menu(A,B);break;} case 7: {limpiar(); gotoxy(28,4); cout<<"[7] SUMAR A + B..............."; imprimir(sumar(A,B));menu(A,B);break;} case 8: {limpiar(); gotoxy(28,4); cout<<"[8] NEGATIVA DE A............."; imprimir(negativa(A));menu(A,B);break;} case 9: {limpiar(); gotoxy(28,4); cout<<"[9] NEGATIVA DE B............."; imprimir(negativa(B));menu(A,B);break;} case 10: {limpiar(); gotoxy(28,4); cout<<"[10] RESTAR A - B............."; imprimir(restar(A,B));menu(A,B);break;} case 11: {limpiar(); gotoxy(28,4); cout<<"[11] RESTAR B - A............."; imprimir(restar(B,A));menu(A,B);break;} case 12: {limpiar(); gotoxy(28,4); cout<<"[12] ESCALAR PARA A..........."; imprimir(escalar(A));menu(A,B);break;} case 13: {limpiar(); gotoxy(28,4); cout<<"[13] ESCALAR PARA B..........."; imprimir(escalar(B));menu(A,B);break;} case 14: {limpiar(); gotoxy(28,4); cout<<"[14] PRODUCTO A * B..........."; imprimir(producto(A,B));menu(A,B);break;} case 15: {limpiar(); gotoxy(28,4); cout<<"[15] PRODUCTO B * A..........."; imprimir(producto(B,A));menu(A,B);break;} case 16: {limpiar(); gotoxy(28,4); cout<<"[16] TRANSPUESTA DE A........."; imprimir(transpuesta(A));menu(A,B);break;} case 17: {limpiar(); gotoxy(28,4); cout<<"[17] TRANSPUESTA DE B........."; imprimir(transpuesta(B));menu(A,B);break;} case 18: {limpiar(); gotoxy(28,4); cout<<"[18] DETERMINANTE DE A........"; x=det(A);gotoxy(5,5);cout<<"Determinante = "<<x;getchar();menu(A,B);break;} case 19: {limpiar(); gotoxy(28,4); cout<<"[19] DETERMINANTE DE B........"; x=det(B);gotoxy(5,5);cout<<"Determinante = "<<x;getchar();menu(A,B);break;} case 20: {limpiar(); gotoxy(28,4); cout<<"[20] INVERSA DE A............."; inversa(A);menu(A,B);break;} case 21: {limpiar(); gotoxy(28,4); cout<<"[21] INVERSA DE B............."; inversa(B);menu(A,B);break;} case 22: {limpiar(); gotoxy(28,4); cout<<"[22] SALIR...................."; gotoxy(10,10); cout<<"Saliendo..."; gotoxy(25,23); cout<<"Presione Enter Para Salir...";break; } } }
void main() { //funciones del programa y variables int a[10][10],b[10][10],fico,i,j,n,m,h[10],s[10]; int x1[10],x2[10],at[10][10],bt[10][10]; int ax1[10],bx2[10]; int sdpa,sdpb,sdsa,sdsb,su,pro; cout<<"Digite el numero de filas y columnas de a:\n"; cin>>n; cout<<"Digite el numero de filas y columnas de b:\n"; cin>>m; //leer_la matriz a cout<<"Digite los valores de la matriz a\n"; leer_matriz (a,n); //leer_la matriz b cout<<"Digite los valores de la matriz b\n"; leer_matriz (b,m); //suma de la diagonal principal de a: sdpa=su_diag_ppal(a,n); //suma de la diagonal principal de b: sdpb=su_diag_ppal(b,m); //suma de la diagonal secundaria de a: sdsa=su_diag_sec(a,n); //suma de la diagonal secundaria de b: sdsb=su_diag_sec(b,m); //se busca la matriz transpuesta de a: transpuesta(a,at,n); //se busca la matriz transpuesta de b: transpuesta(b,bt,m); //se busca vector x1 de la matriz a: for (i=1; i<=n; i++) { su=0; for (j=1; j<=n; j+=2) { su+=a[i][j]; } x1[i]=su; } //se busca vector x2 de la matriz b: for (i=1; i<=m; i++) { pro=1; for (j=1; j<=m; j+=2) { pro*=b[i][j]; } x2[i]=pro; } //se busca el producto de a: producto (a,x1,h,n); //se busca el producto de b: producto (b,x2,s,m); cout<<"la sumatoria de la diagonal principal de a es:"<<sdpa<<"\n"; cout<<"la sumatoria de la diagonal principal de b es:"<<sdpb<<"\n"; cout<<"la sumatoria de la diagonal secundaria de a es:"<<sdsa<<"\n"; cout<<"la sumatoria de la diagonal secundaria de b es:"<<sdsb<<"\n"; cout<<"\n imprima el vector de a*x1:"; for (i=1; i<=n; i++) { cout<<"\n El producto de a es:["<<i<<"]=\n"; cout<<h[i]; } cout<<"\n imprima el vector de b*x2:\n"; for (i=1; i<=n; i++) { cout<<"\n El producto de b es:["<<i<<"]=\n"; cout<<s[i]; } cout<<"\n Imprima la matriz transpuesta de a: \n"; for (i=1; i<=n; i++) { for (j=1; j<=n; j++) { cout<<" La matriz transpuesta de a es:at["<<i<<","<<j<<"]="; cout<<at[i][j]<<"\n"; } } cout<<"\n Imprima la matriz transpuesta de b: \n"; for (i=1; i<=m; i++) { for (j=1; j<=m; j++) { cout<<" La matriz transpuesta de b es:bt["<<i<<","<<j<<"]="; cout<<bt[i][j]<<"\n"; } } }