-
Notifications
You must be signed in to change notification settings - Fork 0
/
Ejercicio6.c
133 lines (129 loc) · 4.66 KB
/
Ejercicio6.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/*******************PRESENTACIÓN*******************
NOMBRE: Alejandra Estefanía Martínez Muñoz
FECHA: 7 de febrero de 2023
PROGRAMA: ejercicio6.c
CENTRO UNIVERSITARIO DE LOS ALTOS / UNIVERSIDAD DE GUADALAJARA
INGENIERÍA EN COMPUTACIÓN / 2DO SEMESTRE
PROFESOR: Carlos Javier Cruz Franco
DESCRIPCIÓN: Elaborar calculadora con matrices 2x2
**************************************************/
//Incluír librerías
#include <stdio.h>
#include <stdlib.h>
int main() { //Programa principal
//Declaración de variables
int a, b, i, j, k, matriz, lugar, m100=NULL, m101=NULL, m110=NULL, m111=NULL, m200=NULL, m201=NULL, m210=NULL, m211=NULL;
int m1[2][2], m2[2][2], m3[2][2];
do{ //Inicio de ciclo
//Menú de opciones principal
printf("**** Bienvenido :D ****\nEsta es una calculadora de matrices de 2x2\n_______________________________________________\n");
printf("_________________________\n| 1. Guardar valores |\n| 2. Ver matrices |\n| 3. Sumar matrices |\n| 4. Restar matrices |\n| 5. Multiplicar matrices|\n| 6. Salir |\n|________________________|\n");
scanf("%d", &a);
if(a==1){ //Opción 1: Guardar números
printf("¿En que matriz quieres guardar el numero?\n\t1 o 2\n");
scanf("%d", &matriz);
if(matriz==1){ //Guardar números en matriz 1
printf("¿En que lugar quieres guardar el numero?\n\t| 1 2 |\n\t| 3 4 |\n");
scanf("%d", &lugar);
if (lugar==1){ //Guardar valor en el lugar [0,0]
m100=NULL;
printf("Ingresa el numero --> ");
scanf("%d", &m100);
m1[0][0]=m100;
}else if(lugar==2){ //Guardar valor en el lugar [0,1]
m101=NULL;
printf("Ingresa el numero --> ");
scanf("%d", &m101);
m1[0][1]=m101;
}else if(lugar==3){ //Guardar valor en el lugar [1,0]
m110=NULL;
printf("Ingresa el numero --> ");
scanf("%d", &m110);
m1[1][0]=m110;
}else if(lugar==4){ //Guardar valor en el lugar [1,1]
m111=NULL;
printf("Ingresa el numero --> ");
scanf("%d", &m111);
m1[1][1]=m111;
}
}else if(matriz==2){ //Guardar números en matriz 2
printf("¿En que lugar quieres guardar el numero?\n\t| 1 2 |\n\t| 3 4 |\n");
scanf("%d", &lugar);
if (lugar==1){ //Guardar valor en el lugar [0,0]
m200=NULL;
printf("Ingresa el numero --> ");
scanf("%d", &m200);
m2[0][0]=m200;
}else if(lugar==2){ //Guardar valor en el lugar [0,1]
m201=NULL;
printf("Ingresa el numero --> ");
scanf("%d", &m201);
m2[0][1]=m201;
}else if(lugar==3){ //Guardar valor en el lugar [1,0]
m210=NULL;
printf("Ingresa el numero --> ");
scanf("%d", &m210);
m2[1][0]=m210;
}else if(lugar==4){ //Guardar valor en el lugar [1,1]
m211=NULL;
printf("Ingresa el numero --> ");
scanf("%d", &m211);
m2[1][1]=m211;
}
}
}else if(a==2){ //Opción 2: Ver los valores guardados
printf("Las matrices son:\nMatriz 1-->\n");
printf("|%d", m1[0][0]);
printf("\t%d|", m1[0][1]);
printf("\n|%d", m1[1][0]);
printf("\t%d|", m1[1][1]);
printf("\nMatriz 2-->\n");
printf("|%d", m2[0][0]);
printf("\t%d|", m2[0][1]);
printf("\n|%d", m2[1][0]);
printf("\t%d|", m2[1][1]);
}else if(a==3){ //Opción 3: Suma de matrices
for (i=0; i<2; i++){
for (j=0; j<2; j++){
m3[i][j]=m1[i][j]+m2[i][j];
}
}//Muestra resultados de suma
printf("La matriz resultante es: \n");
printf("|%d", m3[0][0]);
printf("\t%d|", m3[0][1]);
printf("\n|%d", m3[1][0]);
printf("\t%d|", m3[1][1]);
}else if(a==4){ //Opción 4: Resta de matrices
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
m3[i][j] = m1[i][j] - m2[i][j];
}
}//Muestra resultados de resta
printf("La matriz resultante es: \n");
printf("|%d", m3[0][0]);
printf("\t%d|", m3[0][1]);
printf("\n|%d", m3[1][0]);
printf("\t%d|", m3[1][1]);
}else if(a==5){ //Opción 5: Multiplicación de matrices
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
m3[i][j]=0;
for (k = 0; k < 2; k++) {
m3[i][j]+=m1[i][k]*m2[k][j];
}
}
}//Muestra resultados de multiplicación
printf("La matriz resultante es: \n");
printf("|%d", m3[0][0]);
printf("\t%d|", m3[0][1]);
printf("\n|%d", m3[1][0]);
printf("\t%d|", m3[1][1]);
}
//Pregunta para repetir ciclo de menu
printf("\n¿Que quieres hacer?\n___________________\n| 1. volver a menu |\n| 2. salir |\n|__________________|\n");
scanf("%d", &b);
}while(b==1);
printf("Adios, que le vaya bien :D");
//Termina el programa
return 0;
}