Задача:
Ввести две матрицы 3х3 и умножить их друг на друга
Код программы:
#include <stdio.h>
#include <conio.h>
#define N 3
void main()
{
clrscr();
int a[N][N];
int b[N][N];
int c[N][N];
int i,j;
int n,m;
// матрица 1
printf("введите матрицу%ix%i\n",N,N);
for (i=0; i<N; i++)
{
printf("элем %i-й строки:\n",i+1);
for (j=0; j<N; j++)
{
scanf("%i", &a[i][j]);
}
}
printf("\nПервая матрица\n");
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
printf("%3i",a[i][j]);
}
printf("\n");
}
// матрица 2
printf("введите матрицу%ix%i\n",N,N);
for (j=0; j<N; j++)
{
printf("элем %i-й строки:\n",j+1);
for (i=0; i<N; i++)
{
scanf("%i", &b[j][i]);
}
}
printf("\nВторая матрица\n");
for(j=0; j<N; j++)
{
for(i=0; i<N; i++)
{
printf("%3i",b[j][i]);
}
printf("\n");
}
// умножение матриц
for (i=0; i<N; i++)
for (j=0; j<N; j++)
c[i][j]=0;
printf("\nУмножение матриц\n");
for(i=0;i<N; i++)
{
for(j=0; j<N; j++)
{
for(m=0; m<N; m++)
{
c[i][j]+=a[i][m]*b[m][j];
}
}
}
printf("\nИтоговая матрица\n");
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
printf("%3i",c[i][j]);
}
printf("\n");
}
getch();
}
Результат:

