Multiplicación de una matriz cuadrada por sí misma

Almudena Agudo

#include <stdio.h>
#include <stdlib.h>

#define DIM 20
void leer_matriz (int, int A[DIM][DIM]);
void escribe_matriz (int, int A[DIM][DIM]);
void producto_matrices (int, int A[DIM][DIM],int C[DIM][DIM]);

int main()
{
int n;
int A[DIM][DIM],C[DIM][DIM];

do{
printf(“\n Introduce la dimension de la matriz menor que 20:\n”);
scanf(“%d”,&n);
}while ((0>n) || (n>DIM));

printf (“\n Introduce la primera matriz: \n”);
leer_matriz(n,A);
system(“cls”);
escribe_matriz(n,A);

producto_matrices(n,A,C);
printf(“El producto de “);
escribe_matriz(n,C);

system(“PAUSE”);
return 0;
}

void leer_matriz(int n, int A[DIM][DIM])
{
int i,j;
for (i=0;i<n;i++)
{
printf(“Dame los %d datos de la fila %d: \n”,n,i+1);
for (j=0;j<n;j++)
scanf(“%d”,&A[i][j]);
}
}

void escribe_matriz(int n, int A[DIM][DIM])
{
int i, j;
printf(“la matriz es: \n”);
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf(“%d “, A[i][j]);
printf(“\n”);
}
}

void producto_matrices (int n, int A[DIM][DIM],int C[DIM][DIM])
{
int i,j,k;
for (i=0;i<n;i++)
for(j=0;j<n;j++)
{ C[i][j] = 0;
for(k=0;k<n;k++)
C[i][j] =C[i][j] +(A[i][k] * A[k][j]);
}
}

Anuncios
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