Получить произведение двух матриц - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Даны две матрицы. Получить их произведение
Даны две матрицы. Получить их произведение
ф-ция перемножения
#define ROW 4
#define COL 3
#define N 3
 
void mulmatr(int A[ROW][N], int B[N][COL], int C[ROW][COL])
{
    for(int i = 0; i < ROW; i++)
        for(int j = 0; j < COL; j++)
        {
            C[i][j] = 0;
            for(int k = 0; k < N; k++)
                C[i][j] += (A[i][k] * B[k][j]);
        }
}

Решение задачи: «Получить произведение двух матриц»

textual
Листинг программы
//Перемножение двух матриц циклами while
#define N1 3
#define N2 3
#define N3 3
int m[N1][N2];
int n[N1][N2];
int mn[N1][N3];
main ()
{  int i,j,k;
     clrscr ();
     for (i=0; i<N1; i++)
         for (j=0; j<N2; j++)
               scanf ("%d",&m[i][j]);
      for (i=0; i<N2; i++)
         for (j=0; j<N3; j++)
              scanf("%d",&n[i][j]);
i=0;
while (i<N1)
{  j=0;
while (j<N3)
  {mn[i][j]=0;
    k=0;
     while (k<N2)
  {mn[i][j]+=m[i][k]*n[j][k]; k++;    }
        j++;}
    i++; }
   for (i=0; i<N1; i++)
 {printf ("\n");
     for (j=0; j<N3; j++)
printf ("%d ",mn[i][j]);  }
getch ();
return 0;
}

Объяснение кода листинга программы

  1. Объявлены матрицы m и n размером N1xN2 и N2xN3 соответственно.
  2. В цикле заполняются значения матрицы m с помощью функции scanf.
  3. В цикле заполняются значения матрицы n с помощью функции scanf.
  4. Начинается цикл перемножения матриц с помощью циклов while.
  5. Внутренний цикл j выполняется N3 раза для каждого элемента матрицы mn.
  6. Внутренний цикл k выполняется N2 раза для каждого элемента матрицы mn.
  7. Элемент матрицы mn[i][j] инициализируется нулем.
  8. Внутренний цикл k выполняется N2 раза, умножая соответствующие элементы матриц m и n и добавляя результат к элементу матрицы mn.
  9. Внутренний цикл j увеличивается на единицу после каждой итерации внешнего цикла i.
  10. Внешний цикл i выполняется N1 раза, перемножая соответствующие элементы матриц m и n.
  11. Выводится результат умножения матриц с помощью функции printf.
  12. Программа завершается с помощью функции getch.
  13. Возвращается 0, указывая на успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы