Перемножить между собой две матрицы и вывести конечную - 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(); }
Объяснение кода листинга программы
Код умножает две матрицы и выводит результат. Список действий:
- Ввод данных: Пользователю предлагается ввести элементы первой матрицы (2x4), затем второй матрицы (4x4). Элементы вводятся с клавиатуры.
- Вывод матриц: Первая и вторая матрицы выводятся на экран.
- Объявление и инициализация результирующей матрицы: Результирующая матрица (2x4) инициализируется нулями.
- Вычисление элементов результирующей матрицы: Каждый элемент результирующей матрицы вычисляется как сумма произведений соответствующих элементов первой и второй матриц.
- Вывод результирующей матрицы: Результирующая матрица выводится на экран.
- Завершение работы программы: Программа ожидает нажатия клавиши для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д