Получить произведение двух матриц - 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; }
Объяснение кода листинга программы
- Объявлены матрицы m и n размером N1xN2 и N2xN3 соответственно.
- В цикле заполняются значения матрицы m с помощью функции scanf.
- В цикле заполняются значения матрицы n с помощью функции scanf.
- Начинается цикл перемножения матриц с помощью циклов while.
- Внутренний цикл j выполняется N3 раза для каждого элемента матрицы mn.
- Внутренний цикл k выполняется N2 раза для каждого элемента матрицы mn.
- Элемент матрицы mn[i][j] инициализируется нулем.
- Внутренний цикл k выполняется N2 раза, умножая соответствующие элементы матриц m и n и добавляя результат к элементу матрицы mn.
- Внутренний цикл j увеличивается на единицу после каждой итерации внешнего цикла i.
- Внешний цикл i выполняется N1 раза, перемножая соответствующие элементы матриц m и n.
- Выводится результат умножения матриц с помощью функции printf.
- Программа завершается с помощью функции getch.
- Возвращается 0, указывая на успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д