Перемножить между собой две матрицы и вывести конечную - C (СИ)

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

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

Помогите зделать матрицу 2x4 b 4x4 и их надо перемножить между собой и вывести конечную матрицу. я вот написал тока неполучается что та помогите исправить
#include <stdio.h>
#include <conio.h>

 main()
{
 
 int a[2][4];
 int b[4][4];

 int i,j;
 int n,m;

 printf("Ievadiet matricu%ix%i\n",2,4);
 for (i=0; i<N; i++)
 {
  printf("Elements %i-mas rindas :\n",i+1);
  for (j=0; j<N; j++)
  {
   scanf("%i", &a[i][j]);
  }
 }
 printf("\nPirma matrica\n");
 for(i=0; i<N; i++)
 {
  for(j=0; j<N; j++)
  {
   printf("%3i",a[i][j]);
  }
  printf("\n");
 }

 printf("Ievadiet matricu%ix%i\n",4,4);
 for (j=0; j<N; j++)
 {
  printf("Elements %i-mas rindas:\n",j+1);
  for (i=0; i<N; i++)
  {
   scanf("%i", &b[j][i]);
  }
 }
 printf("\nOtra matrica\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("\nMatricas reizinajums\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("\nGala matrica\n");
 for(i=0; i<N; i++)
 {
  for(j=0; j<N; j++)
  {
   printf("%3i",c[i][j]);
  }
  printf("\n");
 }

getch();
}

Решение задачи: «Перемножить между собой две матрицы и вывести конечную»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
 
 
 main()
{
 
 int a[2][4];
 int b[4][4];
 int c[2][4];
 
 
 
 int i,j;
 int N=4, M=2, m;
 
 
 
 
 printf("Ievadiet matricu%ix%i\n",2,4);
 for (i=0; i<M; i++)
 {
  printf("Elements %i-mas rindas :\n",i+1);
  for (j=0; j<N; j++)
  {
   scanf("%i", &a[i][j]);
  }
 }
 printf("\nPirma matrica\n");
 for(i=0; i<M; i++)
 {
  for(j=0; j<N; j++)
  {
   printf("%3i",a[i][j]);
  }
  printf("\n");
 }
 
 
 
 printf("Ievadiet matricu%ix%i\n",4,4);
 for (j=0; j<N; j++)
 {
  printf("Elements %i-mas rindas:\n",j+1);
  for (i=0; i<N; i++)
  {
   scanf("%i", &b[j][i]);
  }
 }
 printf("\nOtra matrica\n");
 for(j=0; j<N; j++)
 {
  for(i=0; i<N; i++)
  {
   printf("%3i",b[j][i]);
  }
  printf("\n");
 }
 
 
 
 for (i=0; i<M; i++)
  for (j=0; j<N; j++)
   c[i][j]=0;
 
 printf("\nMatricas reizinajums\n");
 for(i=0;i<M; i++)
 {
  for(j=0; j<N; j++)
  {
   for(m=0; m<N; m++)
   {
    c[i][j]+=a[i][m]*b[m][j];
   }
  }
 }
 
 printf("\nGala matrica\n");
 for(i=0; i<M; i++)
 {
  for(j=0; j<N; j++)
  {
   printf("%3i",c[i][j]);
  }
  printf("\n");
 }
 
 
getch();
}

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

Код умножает две матрицы и выводит результат. Список действий:

  1. Ввод данных: Пользователю предлагается ввести элементы первой матрицы (2x4), затем второй матрицы (4x4). Элементы вводятся с клавиатуры.
  2. Вывод матриц: Первая и вторая матрицы выводятся на экран.
  3. Объявление и инициализация результирующей матрицы: Результирующая матрица (2x4) инициализируется нулями.
  4. Вычисление элементов результирующей матрицы: Каждый элемент результирующей матрицы вычисляется как сумма произведений соответствующих элементов первой и второй матриц.
  5. Вывод результирующей матрицы: Результирующая матрица выводится на экран.
  6. Завершение работы программы: Программа ожидает нажатия клавиши для завершения работы.

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


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

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

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