Умножить матрицу на транспонированную - C (СИ)
Формулировка задачи:
Дана матрица A.Получить матрицу AA*.Где (A*транспонированная) на си
Решение задачи: «Умножить матрицу на транспонированную»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> # define n 3 int main() { srand(time(NULL)); int i,j,k, a[n][n],b[n][n],c[n][n]; printf("Random matrix A\n"); for (i=0; i<n; i++) { for(j=0; j<n; j++) { a[i][j]=rand()%10; printf("%3d",a[i][j]); } printf("\n"); } printf("\nTransposition matrix A*\n"); for (j=0; j<n; j++) for(i=0; i<n; i++) b[i][j]=a[j][i]; for (i=0; i<n; i++) { for(j=0; j<n; j++) { printf("%3d",b[i][j]); } printf("\n"); } for (i=0; i<n; i++) { for(j=0; j<n; j++) { c[i][j]=0; for (k=0; k<n; k++) c[i][j]+=(a[i][k]*b[k][j]); } } printf("\nProduct A & A*\n"); for (i=0; i<n; i++) { for(j=0; j<n; j++) { printf("%5d",c[i][j]); } printf("\n"); } getch(); return 0; }
Объяснение кода листинга программы
В этом коде:
- Создаются матрицы a, b и c размером n на n.
- В матрице a случайным образом заполняются значения от 0 до 9.
- Транспонированная матрица b создается с помощью перебора строк матрицы a.
- Выводится на экран матрица a и ее транспонированная матрица b.
- Производится умножение матрицы a на транспонированную матрицу b и результат сохраняется в матрице c.
- Выводится на экран произведение матрицы a на транспонированную матрицу b (матрица c).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д