Operaciones con matrices

Saul Juan Perez

/* Este programa calcula la suma y la multiplicación de dos matrices
y da la opción de realizar la resta y la división. */

#include <stdio.h>
#include <math.h>

#define DIM 2

void leer ( float [DIM][DIM]);
void sumar (float [DIM][DIM], float [DIM][DIM], float [DIM][DIM]);
void mul (float [DIM][DIM], float [DIM][DIM], float [DIM][DIM]);
void esc (float [DIM][DIM]);
void  res (float [DIM][DIM], float [DIM][DIM], float [DIM][DIM]);
void div (float [DIM][DIM], float [DIM][DIM], float [DIM][DIM]);

int main()
{
int  opcion;
float a[DIM][DIM],b[DIM][DIM],c[DIM][DIM];

leer(a); leer(b);
sumar(a,b,c);
printf("La suma vale:\n");
esc(c);

mul(a,b,c);
printf("\nLa multiplicacion vale: \n");
esc(c);

printf ("Indica que quieres realizar:\n Resta 1\n Division 2\n");
scanf("%d",&opcion);

switch(opcion)
{
 case 1: res(a,b,c);
         printf("La resta es:\n");
         esc(c);
         break;

case 2: div (a,b,c);
        printf("La division es:\n");
        esc(c);
        break;

default: printf("El dato no es correcto.");
}

return 0;
}

void leer (float a[DIM][DIM])
{
int i,j;

for(i=0;i<DIM;i++)
 {
 printf("Dame datos de fila %d:\n",i+1);
 for(j=0;j<DIM;j++)
 scanf("%f",&a[i][j]);
 }
}

void sumar (float a[DIM][DIM], float b[DIM][DIM] , float c[DIM][DIM])
{
int i,j;

for(i=0;i<DIM;i++)
for(j=0;j<DIM;j++)
 {
  c[i][j]=a[i][j]+b[i][j];
 }
}

void mul (float a[DIM][DIM], float b[DIM][DIM], float c[DIM][DIM])
{
int i,j,k;

for(i=0;i<DIM;i++)
for(j=0;j<DIM;j++)
 {
 c[i][j]=0;
 for(k=0;k<DIM;k++)
   c[i][j]= c[i][j]+ a[i][k]*b[k][j];}
 }
}

void esc (float a[DIM][DIM])
{
int i,j;

for(i=0;i<DIM;i++)
 {
  for(j=0;j<DIM;j++)
    printf("%0.2f\t",a[i][j]);
  printf("\n");}
 }
}

void res (float a[DIM][DIM], float b[DIM][DIM], float c[DIM][DIM])
{
int i,j;

for(i=0;i<DIM;i++)
for(j=0;j<DIM;j++)
  c[i][j]=a[i][j]-b[i][j];
}

void div (float a[DIM][DIM], float b[DIM][DIM], float c[DIM][DIM])
{
 int i,j;

 for(i=0;i<DIM;i++)
 for(j=0;j<DIM;j++)
    c[i][j]=a[i][j]/b[i][j];
}
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s