<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 程序將兩個矩陣相乘 > 原文: [https://www.geeksforgeeks.org/c-program-multiply-two-matrices/](https://www.geeksforgeeks.org/c-program-multiply-two-matrices/) 給定兩個矩陣,將它們相乘的任務。 矩陣可以是正方形或矩形。 **示例**: ``` Input : mat1[][] = {{1, 2}, {3, 4}} mat2[][] = {{1, 1}, {1, 1}} Output : {{3, 3}, {7, 7}} Input : mat1[][] = {{2, 4}, {3, 4}} mat2[][] = {{1, 2}, {1, 3}} Output : {{6, 16}, {7, 18}} ``` ![](https://img.kancloud.cn/f1/1f/f11f23635de54933abc3f985cab0897b_461x340.png) **平方矩陣的乘積**: 下面的程序將兩個大小為 4 * 4 的平方矩陣相乘,我們可以為不同的維數更改 N。 ## C++ ```cpp // C++ program to multiply? // two square matrices. #include <iostream> using namespace std; #define N 4 // This function multiplies? // mat1[][] and mat2[][], and? // stores the result in res[][] void multiply(int mat1[][N],? ??????????????int mat2[][N],? ??????????????int res[][N]) { ????int i, j, k; ????for (i = 0; i < N; i++) ????{ ????????for (j = 0; j < N; j++) ????????{ ????????????res[i][j] = 0; ????????????for (k = 0; k < N; k++) ????????????????res[i][j] += mat1[i][k] *? ?????????????????????????????mat2[k][j]; ????????} ????} } // Driver Code int main() { ????int i, j; ????int res[N][N]; // To store result ????int mat1[N][N] = {{1, 1, 1, 1}, ??????????????????????{2, 2, 2, 2}, ??????????????????????{3, 3, 3, 3}, ??????????????????????{4, 4, 4, 4}}; ????int mat2[N][N] = {{1, 1, 1, 1}, ??????????????????????{2, 2, 2, 2}, ??????????????????????{3, 3, 3, 3}, ??????????????????????{4, 4, 4, 4}}; ????multiply(mat1, mat2, res); ????cout << "Result matrix is \n"; ????for (i = 0; i < N; i++) ????{ ????????for (j = 0; j < N; j++) ????????cout << res[i][j] << " "; ????????cout << "\n"; ????} ????return 0; } // This code is contributed // by Soumik Mondal ``` ## C ``` // C program to multiply two square matrices. #include <stdio.h> #define N 4 // This function multiplies mat1[][] and mat2[][], // and stores the result in res[][] void multiply(int mat1[][N], int mat2[][N], int res[][N]) { ????int i, j, k; ????for (i = 0; i < N; i++) ????{ ????????for (j = 0; j < N; j++) ????????{ ????????????res[i][j] = 0; ????????????for (k = 0; k < N; k++) ????????????????res[i][j] += mat1[i][k]*mat2[k][j]; ????????} ????} } int main() { ????int mat1[N][N] = { {1, 1, 1, 1}, ????????????????????{2, 2, 2, 2}, ????????????????????{3, 3, 3, 3}, ????????????????????{4, 4, 4, 4}}; ????int mat2[N][N] = { {1, 1, 1, 1}, ????????????????????{2, 2, 2, 2}, ????????????????????{3, 3, 3, 3}, ????????????????????{4, 4, 4, 4}}; ????int res[N][N]; // To store result ????int i, j; ????multiply(mat1, mat2, res); ????printf("Result matrix is \n"); ????for (i = 0; i < N; i++) ????{ ????????for (j = 0; j < N; j++) ???????????printf("%d ", res[i][j]); ????????printf("\n"); ????} ????return 0; } ``` ## Java ```java // Java program to multiply two square // matrices. import java.io.*; class GFG { ????static int N = 4; ????// This function multiplies mat1[][] ????// and mat2[][], and stores the result ????// in res[][] ????static void multiply(int mat1[][],? ??????????????????int mat2[][], int res[][]) ????{ ????????int i, j, k; ????????for (i = 0; i < N; i++) ????????{ ????????????for (j = 0; j < N; j++) ????????????{ ????????????????res[i][j] = 0; ????????????????for (k = 0; k < N; k++) ????????????????????res[i][j] += mat1[i][k]? ????????????????????????????????* mat2[k][j]; ????????????} ????????} ????} ????// Driver code ????public static void main (String[] args)? ????{ ????????int mat1[][] = { {1, 1, 1, 1}, ?????????????????????????{2, 2, 2, 2}, ?????????????????????????{3, 3, 3, 3}, ?????????????????????????{4, 4, 4, 4}}; ????????int mat2[][] = { {1, 1, 1, 1}, ?????????????????????????{2, 2, 2, 2}, ?????????????????????????{3, 3, 3, 3}, ?????????????????????????{4, 4, 4, 4}}; ????????// To store result ????????int res[][] = new int[N][N] ; ????????int i, j; ????????multiply(mat1, mat2, res); ????????System.out.println("Result matrix" ????????????????????????????????+ " is "); ????????for (i = 0; i < N; i++) ????????{ ????????????for (j = 0; j < N; j++) ????????????????System.out.print( res[i][j] ????????????????????????????????????+ " "); ????????????System.out.println(); ????????} ????} } // This code is contributed by anuj_67\. ``` ## Python 3 ``` # 4x4 matrix multiplication using Python3 # Function definition def matrix_multiplication(M,N): ????# List to store matrix multiplication result ????R = [[0, 0, 0, 0],? ????????[0, 0, 0, 0],? ????????[0, 0, 0, 0], ????????[0, 0, 0, 0]]? ????for i in range(0, 4):? ????????for j in range(0, 4): ????????????for k in range(0, 4):? ????????????????R[i][j] += M[i][k] * N[k][j]? ????for i in range(0,4):? ????????for j in range(0,4):? ????????????#if we use print(), by default cursor moves to next line each time,? ????????????#Now we can explicitly define ending character or sequence passing ????????????#second parameter as end="<character or string>" ????????????#syntax: print(<variable or value to print>, end="<ending with>") ????????????#Here space (" ") is used to print a gape after printing? ????????????#each element of R ????????????print(R[i][j],end=" ") ????????print("\n",end="") # First matrix. M is a list M = [[1, 1, 1, 1],? ????[2, 2, 2, 2],? ????[3, 3, 3, 3], ????[4, 4, 4, 4]] # Second matrix. N is a list N = [[1, 1, 1, 1],? ????[2, 2, 2, 2],? ????[3, 3, 3, 3], ????[4, 4, 4, 4]]? # Call matrix_multiplication function matrix_multiplication(M,N) # This code is contributed by Santanu ``` ## C# ```cs // C# program to multiply two square // matrices. using System; class GFG { ????static int N = 4; ????// This function multiplies mat1[][] ????// and mat2[][], and stores the result ????// in res[][] ????static void multiply(int[,] mat1,? ????????????????int [,]mat2, int [,]res) ????{ ????????int i, j, k; ????????for (i = 0; i < N; i++) ????????{ ????????????for (j = 0; j < N; j++) ????????????{ ????????????????res[i,j] = 0; ????????????????for (k = 0; k < N; k++) ????????????????????res[i,j] += mat1[i,k]? ????????????????????????????????* mat2[k,j]; ????????????} ????????} ????} ????// Driver code ????public static void Main ()? ????{ ????????int [,]mat1 = { {1, 1, 1, 1}, ????????????????????????{2, 2, 2, 2}, ????????????????????????{3, 3, 3, 3}, ????????????????????????{4, 4, 4, 4}}; ????????int [,]mat2 = { {1, 1, 1, 1}, ????????????????????????{2, 2, 2, 2}, ????????????????????????{3, 3, 3, 3}, ????????????????????????{4, 4, 4, 4}}; ????????// To store result ????????int [,]res = new int[N,N] ; ????????int i, j; ????????multiply(mat1, mat2, res); ????????Console.WriteLine("Result matrix" ????????????????????????????????+ " is "); ????????for (i = 0; i < N; i++) ????????{ ????????????for (j = 0; j < N; j++) ????????????????Console.Write( res[i,j] ????????????????????????????????????+ " "); ????????????Console.WriteLine(); ????????} ????} } // This code is contributed by anuj_67\. ``` ## PHP ```php <?php // PHP program to multiply two? // square matrices. // This function multiplies mat1[][] and? // mat2[][], and stores the result in res[][] function multiply(&$mat1, &$mat2, &$res) { ????$N = 4; ????for ($i = 0; $i < $N; $i++) ????{ ????????for ($j = 0; $j < $N; $j++) ????????{ ????????????$res[$i][$j] = 0; ????????????for ($k = 0; $k < $N; $k++) ????????????????$res[$i][$j] += $mat1[$i][$k] *? ????????????????????????????????$mat2[$k][$j]; ????????} ????} } // Driver Code $mat1 = array(array(1, 1, 1, 1), ??????????????array(2, 2, 2, 2), ??????????????array(3, 3, 3, 3), ??????????????array(4, 4, 4, 4)); $mat2 = array(array(1, 1, 1, 1), ??????????????array(2, 2, 2, 2), ??????????????array(3, 3, 3, 3), ??????????????array(4, 4, 4, 4)); multiply($mat1, $mat2, $res); $N = 4; echo ("Result matrix is \n"); for ($i = 0; $i < $N; $i++) { ????for ($j = 0; $j < $N; $j++) ????{ ????????echo ($res[$i][$j]); ????????echo(" "); ????} ????echo ("\n"); } // This code is contributed? // by Shivi_Aggarwal? ?> ``` **輸出**: ``` Result matrix is 10 10 10 10 20 20 20 20 30 30 30 30 40 40 40 40 ``` **矩形矩陣的乘法**: 我們在 C 中使用指針來乘法到矩陣。 請參考以下帖子作為代碼的前提條件。 [如何在 C 中將 2D 數組作為參數傳遞?](https://www.geeksforgeeks.org/pass-2d-array-parameter-c/) ## C++ ``` // C++ program to multiply two // rectangular matrices #include<bits/stdc++.h> using namespace std; // Multiplies two matrices mat1[][]? // and mat2[][] and prints result. // (m1) x (m2) and (n1) x (n2) are? // dimensions of given matrices. void multiply(int m1, int m2, int mat1[][2],? ??????????????int n1, int n2, int mat2[][2]) { ????int x, i, j; ????int res[m1][n2]; ????for (i = 0; i < m1; i++)? ????{ ????????for (j = 0; j < n2; j++)? ????????{ ????????????res[i][j] = 0; ????????????for (x = 0; x < m2; x++)? ????????????{ ????????????????*(*(res + i) + j) += *(*(mat1 + i) + x) * ?????????????????????????????????????*(*(mat2 + x) + j); ????????????} ????????} ????} ????for (i = 0; i < m1; i++)? ????{ ????????for (j = 0; j < n2; j++)? ????????{ ????????????cout << *(*(res + i) + j) << " "; ????????} ????????cout << "\n"; ????} } // Driver code int main() { ????int mat1[][2] = { { 2, 4 }, { 3, 4 } }; ????int mat2[][2] = { { 1, 2 }, { 1, 3 } }; ????int m1 = 2, m2 = 2, n1 = 2, n2 = 2; ????multiply(m1, m2, mat1, n1, n2, mat2); ????return 0; } // This code is contributed? // by Akanksha Rai(Abby_akku) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看