Функция: подсчёт произведения двух матриц - C (СИ)
Формулировка задачи:
Здравствуйте! Я сделал программу для подсчёта произведения двух матриц, но мне надо через функцию. Пожалуйста подскажите как сделать. Уже 10 дней изучаю материал, но до меня не доходит. Заранее большое спасибо...
#include <stdio.h> #include <locale.h> #include <conio.h> int k,m,i,j,n,h,; main ( ) { setlocale(LC_ALL,"Rus");//устанавливает русский язык printf ("\n Введите элемент k ", k); scanf ("%d",&k); printf ("\n Введите элемент m ", m); scanf ("%d",&m); printf ("\n Введите элемент n ", n); scanf ("%d",&n); int A[k] [m], B[m] [n], C[k][n]; // описание матрицы A и B // ввод матрицы А printf("\n Ввод матрицы А:"); for (i = 0; i < k; i++) { for (j = 0; j < m; j++) { printf("\n Введите элемент A [%d][%d]=", i, j); scanf("%d", &A[i][j]); } } // ввод матрицы В printf("\n Ввод матрицы В:"); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { printf("\n Введите элемент B [%d][%d]=", i, j); scanf("%d", &B[i][j]); } } //вывод матрицы А { printf("\n Матрица A"); printf ("\n"); } for (i=0; i<k; i++) { for (j=0; j<m; ++j) printf(" %3d", A[i][j]); printf("\n"); } //вывод матрицы В { printf("\n Матрица В"); printf ("\n"); } for (i=0; i<m; i++) { for (j=0; j<n; ++j) printf(" %3d", B[i][j]); printf("\n"); } //вывод матрицы С(А*В) printf("\n Произведение матрицы А и В:"); printf ("\n"); for(i = 0; i < k; i++){ for(j = 0; j < n; j++) { C[i][j] = 0; for(h = 0; h < n; h++) C[i][j] += A[i][h] * B[h][j]; printf("%5d", C[i][j]); } printf("\n"); } getch(); //задержка окна консоли return 0; //повтор программы не выполнять }
Решение задачи: «Функция: подсчёт произведения двух матриц»
textual
Листинг программы
void enter_arr(int *A, int k, int m) { int i, j; printf("\n Ввод матрицы А:"); for (i = 0; i < k; i++) { for (j = 0; j < m; j++) { printf("\n Введите элемент A [%d][%d]=", i, j); scanf("%d", &A[i][j]); } } } int main() { ... enter_arr(A, k, m); //вместо ввода для матрицы А enter_arr(B, m, n); //вместо ввода для матрицы B ... }
Объяснение кода листинга программы
- В функции
enter_arr
происходит ввод элементов матрицыA
с помощью функцииscanf
. - В функции
main
вызывается функцияenter_arr
для ввода матрицыA
иB
. - После ввода матриц
A
иB
происходит подсчёт их произведения и вывод результата.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д