6
0 UNIVERSIDAD TECNICA DE AMBATO FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACION CARRERA DE DOCENCIA EN INFORMATICA Programación II Aracelly Silva Tercer Semestre Ing. Wilma Gavilánes

producto

Embed Size (px)

DESCRIPTION

producto de matrices

Citation preview

Page 1: producto

0

UNIVERSIDAD TECNICA DE

AMBATO FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACION

CARRERA DE DOCENCIA EN INFORMATICA

Programación II

Aracelly Silva

Tercer Semestre

Ing. Wilma Gavilánes

Page 2: producto

1

Multiplicación

Producto de Hilera por Columna

Antes de describir la multiplicación de matrices, es necesario definir una operación

preliminar: El producto interno, que corresponde a un valor escalar. El producto interno es

la suma del producto de los elementos de una hilera por los elementos de una columna.

Para multiplicar una hilera por una columna es necesario que el número de columnas en

la hilera corresponda al número de hileras en la columna. El producto de hilera por

columna es un escalar. Por ejemplo, la multiplicación de A por B, denotado AB, es:

Page 3: producto

2

La multiplicación de Matrices

Para multiplicar dos matrices, es necesario que el número de hileras de la primera matriz Q

corresponda al número de columnas de la segunda matriz W. Los elementos del producto

P= QW corresponden al producto de hileras por columnas, como se menciona arriba:

En este ejemplo, el elemento (2,3)= 5 corresponde al producto de la hilera dos de Q y

columna tres de W. En general, no es lo mismo AB que BA.

Page 4: producto

3

Diseñe un programa que me permita realizar el producto algebraico de matrices.

Análisis

Cremos una función con el borde

Void borde

Ingresamos las matrices con 2 condiciones for en una misma función

Vamos a la función proceso donde dentro de 2 condiciones for vamos a crear otra

condición for para que nos ayude como auxiliar para nuestro resultado

for(a=1;a<=lim;a++)

{

matriz2[i][j]=(matriz2[i][j] +(matriz[i][a]*matriz1[a][j]));

}

Finalmente imprimimos la matriz resultante.

Codificación

#include<conio.h> Librerias principales

#include<stdio.h>

int matriz2[10][10],i,j,matriz[10][10],a,limite,col,fila,matriz1[10][10],op;

void borde()

{

for(i=1;i<=24;i++)

{

gotoxy(1,i);printf("/");

gotoxy(80,i);printf("/");

} Función Borde

for(i=1;i<=80;i++)

{

gotoxy(i,1);printf("/");

gotoxy(i,24);printf("/");

}

}

void ingreso(int lim)

{

fila=10;

col=10;

for(i=1;i<=lim;i++)

{

for(j=1;j<=lim;j++)

{ Funcion Ingreso

gotoxy(10,9);printf("Matriz ");

gotoxy(col,fila);scanf("%d",&matriz[i][j]);

col=col+5;

}

fila++;

Page 5: producto

4

col=10;

}

fila=10;

col=30;

for(i=1;i<=limite;i++)

{

for(j=1;j<=limite;j++) Ingreso matriz 2

{

gotoxy(30,9);printf("Matriz ");

gotoxy(col,fila);scanf("%d",&matriz1[i][j]);

col=col+5;

}

fila++;

col=30;

}

}

void proceso(int lim)

{

for(i=1;i<=lim;i++)

{

for(j=1;j<=lim;j++)

{ Función de proceso de

matriz2[i][j]=0; multiplicacion de matrices

for(a=1;a<=lim;a++)

{

matriz2[i][j]=(matriz2[i][j] +(matriz[i][a]*matriz1[a][j]));

}

}

}

}

void imp(int lim)

{

fila=10;

col=50;

for(i=1;i<=lim;i++)

{

for(j=1;j<=lim;j++) Función para imprimir

{

gotoxy(col,fila);printf("%d",matriz2[i][j]);

col=col+5;

}

fila++;

col=50;

Page 6: producto

5

}

}

void main()

{

do{

clrscr();

borde();

gotoxy(25,2);printf("Producto de dos matrices");

gotoxy(10,4);printf("Ingrese el limite: ");scanf("%d",&limite); Programa

ingreso(limite);

proceso(limite); Principal

imp(limite);

gotoxy(10,22);printf("Presione 1 para continar o 0 para salir:

");scanf("%d",&op);

}while(op==1);

getch();

}