INSTITUTO TECNOLÓGICO DE TUXTLA GUTIÉRREZ
Examen Unidad 3
Integrantes Del Equipo:
1. Nelly Angélica De Aquino Rodríguez
2. Maria Fernanda López Hernández
3. Angel Emmanuel Ballinas Mendez
[Link] Marjoire Gómez Pérez
Ingeniería Electrónica
A3B
Programación Estructurada
Marco Antonio Zúñiga Reyes
Ejercicio 1. Realizar un programa que multiplique una matriz de datos enteros de tamaño 3x3, con una
matriz de tamaño 3x3. Se sugiere llenar las matrices de forma automática usando alguna librería del
tipo Random (números aleatorios).
-Al inicio se debe mostrar la estructura de ambas matrices, una primero y debajo la otra.
-Se debe mostrar el resultado de la operación de multiplicación.
SOLUCIÓN PROBLEMA 1.
Código:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i,j,matriza[3][3],matrizb[3][3], matrizc[3][3];
printf("\n Matriz 1 \n");
srand(time(0));
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
matriza[i][j] = rand() % 10+1 ;
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
printf("%d\t",matriza[i][j]);
printf("\n");
printf("\n Matriz 2 \n");
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
matrizb[i][j] = rand() % 15 ;
}
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
printf("%d\t",matrizb[i][j]);
printf("\n");
}
printf("\n Resultado de la multiplicacion\n");
for (int a = 0; a < 3; a++) {
for (int i = 0; i < 3; i++) {
int suma = 0;
for (int j = 0; j < 3; j++) {
suma += matriza[i][j] * matrizb[j][a];
}
matrizc[i][a] = suma;
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d\t ", matrizc[i][j]);
}
printf("\n");
}
Anexo Evidencias:
Análisis;
Para resolver el primer ejercicio analizamos la situación y lo que pedía para tratar de pensar en el
procedimiento que tendríamos a que hacer para que funcionara, asi que primero pensamos en hacer
las funciones de 2 matrices de 3x3.
Luego de lograr poner las 2 matrices buscamos la manera de que se sumaran , ya que pensamos
que era esencial para dar el siguiente paso que era la multiplicación, después de ver y entender como
funcionaba la sumatoria procedimos a ver la multiplicación con las 2 matrices de 3x3 y que imprimiera
el resultado.
Fuimos analizando poco por poco cada parte del código para poder introducir el código, nos llevo
mucho tiempo para poder descifrar la ultima parte del codigo por lo mismo que nos costo analizarlo.
La parte mas importe que fue llenar la matriz con datos randoms , la hicimos de la siguiente manera:
[Link] las variables.
[Link] el tamaño a la matriz, o sea de 3×3.
matriz[3,3]
[Link] ciclos for anidados que se repite 3 veces, con esto vamos recorriendo las columnas.
para Matriza = 1 Hasta 3 sumado 1
[Link] nuevamente usamos ciclos for anidados pero ahora para recorrer las filas, que también
se repite 3 veces.
matrizb = 1 Hasta 3 aumentando 1++
[Link] del cuerpo del bucle vamos llenando la matriz celda por celda, con números aleatorios entre
0 y 9.
matriz(a,b) = cualquier numero al azar(9)
[Link] mostrar los elementos de la matriz necesitamos dos ciclos.
El primer ciclo se repite 3 veces y me sirve para recorrer las columnas.
para matriza = 1 Hasta 3 aumentando 1
El segundo ciclo que también se repite 3 veces me sirve para recorrer las filas.
para matrizb = 1 Hasta 3 aumentando en 1
[Link] un mensaje en blanco para separar las matrices
\n
Todo esto se volvió a repetir pero ahora con nuestra matriz b.
Para la ultima parte que fue la multiplicación:
[Link] ciclos for anidados que se repite 3 veces, con esto vamos recorriendo las columnas.
para matriza = 1 Hasta 3 sumado 1
[Link] nuevamente usamos ciclos for anidados pero ahora para recorrer las filas, que también
se repite 3 veces.
matrizb = 1 Hasta 3 aumentando 1++
5. Declaramos la variable de sumatoria
int suma=0
[Link] otro ciclo for para cada columasde la matriza
matriza= 1 hasta 3 unmentando 1
[Link] y sumamos resultado
suma= matriza[i][j] * matrizb[j][a];
[Link] el resultado
matrizc[i][a] = suma
.Para mostrar los elementos de la matriz resultante
[Link] primer ciclo se repite 3 veces y me sirve para recorrer las columnas.
para matriza = 1 Hasta 3 aumentando 1
El segundo ciclo que también se repite 3 veces me sirve para recorrer las filas.
para matrizb = 1 Hasta 3 aumentando en 1
[Link] Utilizamos un mensaje en blanco para separar la matriz resultante.