矩陣的加法c語言,c++實現矩陣加法

本文目錄一覽:

用C語言編寫程序(兩個矩陣相加)

用C語言編寫程序(兩個矩陣相加)代碼如下:

/**

MatrixAddition.c

實現兩個矩陣相加

*/

#includestdio.h

const int COLS=3;

void printMatirx(int *pArray,int rows,int cols);

void printMatirx2(int (*pArray)[COLS],int rows);

int main()

{

int A[3][4]={{15,10,9,12},

{18,14,8,7},

{16,13,6,11}};

printf(“矩陣A=\n”);

printMatirx(A,3,4);

int B[3][4]={{4,3,5,2},

{0,9,6,1},

{5,7,2,6}};

printf(“矩陣B=\n”);

printMatirx(B,3,4);

int C[3][4];

int i,j;

//矩陣相加:兩個矩陣必須行數和列數一樣才能相加,

//和矩陣的每個元素分別是兩個矩陣對應的元素的和

printf(“矩陣A+矩陣B=\n”);

for(i=0;i3;i++)//控制行

{

for(j=0;j4;j++)

{

C[i][j]=A[i][j]+B[i][j];

//printf(“%3d”,C[i][j]);//輸出結果

}

//        printf(“\n”);

}

int (*p)[COLS]=C;

printMatirx2(p,3);

/*結果應為:

19 13 14 14

18 23 14  8

21 20  8 17

*/

printf(“矩陣C-矩陣A=\n”);

for(i=0;i3;i++)//控制行

{

for(j=0;j4;j++)

{

printf(“%3d”,C[i][j]-A[i][j]);//輸出結果

}

printf(“\n”);

}

/*結果應為:

4  3  5  2

0  9  6  1

5  7  2  6

*/

//矩陣數乘:

int D[3][4];

printf(“矩陣D:\n”);

for(i=0;i3;i++)//控制行

{

for(j=0;j4;j++)

{

D[i][j]=1;

printf(“%d\t”, D[i][j]);//輸出結果

}

printf(“\n”);

}

int mul;

printf(“矩陣D數乘以:”);

scanf(“%d”,mul);

printf(“矩陣D數乘以%d=\n”,mul);

for(i=0;i3;i++)//控制行

{

for(j=0;j4;j++)

{

D[i][j]=D[i][j]*mul;

printf(“%d\t”, D[i][j]);//輸出結果

}

printf(“\n”);

}

return 0;

}

擴展資料:

C語言矩陣加減法函數:

void matrix_a(double **a_matrix, const double **b_matrix, const double **c_matrix,int krow, int kline, int ktrl)

////////////////////////////////////////////////////////////////////////////

//  a_matrix=b_matrix+c_matrix

//   krow   :行數

//   kline  :列數

//   ktrl   :大於0: 加法  不大於0:減法

////////////////////////////////////////////////////////////////////////////

{

int k, k2;

for (k = 0; k krow; k++) 

{

for(k2 = 0; k2 kline; k2++)

     

{

a_matrix[k][k2] = b_matrix[k][k2]

             

+ ((ktrl 0) ? c_matrix[k][k2] : -c_matrix[k][k2]);

}

}

}

參考資料:

百度百科-C語言

c語言程序設計 矩陣加法

#includestdio.h

void main()

{

int a[15][15],i,j,k,t,b;

printf(“請輸入一個3行3列的矩陣:\n”);

/*for(i=0;i3;i++)

for(j=0;j3;j++)

scanf(“%d”,a[i][j]);

printf(“請輸入另一個3行3列的矩陣\n”);

for(k=0;k3;k++)

for(t=0;t3;t++)

scanf(“%d”,a[k][t]);*///—-此處覆蓋掉了矩陣1;

for(i=0;i3;i++)

for(j=0;j3;j++)

scanf(“%d”,a[i][j]);

printf(“請輸入另一個3行3列的矩陣\n”);

for(k=0;k3;k++)

for(t=0;t3;t++)

scanf(“%d”,a[k+3][t+3]);

printf(“矩陣【1】\n”);

for(i=0;i3;i++){

for(j=0;j3;j++)

printf(“%d “,a[i][j]);

printf(“\n”);

}

printf(“矩陣【2】\n”);

for(i=0;i3;i++){

for(j=0;j3;j++)

printf(“%d “,a[i+3][j+3]);

printf(“\n”);

}

printf(“請選擇要進行的運算:1 相加 2 相乘\n”);

scanf(“%d”,b);

//———-樓主此處以下的四個for一一嵌套算出來的結果沒什麼意義。

if(b==1)

{

printf(“相加:\n”);

for(i=0;i3;i++)

for(j=0;j3;j++)

a[i][j]=a[i][j]+a[i+3][j+3];

for(i=0;i3;i++){

for(j=0;j3;j++)

printf(“%d\t”,a[i][j]);

printf(“\n”);}

}

if(b==2)

{

printf(“相乘:\n”);

for(i=0;i3;i++)

for(j=0;j3;j++)

a[i+6][j+6] = a[i][0]*a[3][j+3] + a[i][1]*a[4][j+3] + a[i][2]*a[5][j+3];

for(i=0;i3;i++){

for(j=0;j3;j++)

printf(“%d\t”,a[i+6][j+6]);

printf(“\n”);

}

}

}

複製後可直接編譯運行,結果如下:格式可自行修改。

c語言矩陣的加法

#include stdio.h

#include ctype.h

#define MAX_STR_LEN 100

int strToInt(char s[],int base) {

int i = 0,result = 0,sign = 1;

if(s[i] == ‘+’) { sign = 1; ++i; }

else if(s[i] == ‘-‘) { sign = -1; ++i; }

if(base  10) { // 數基在10以上時

while(s[i]) {

if(islower(s[i])) result = base * result + s[i] – ‘a’ + 10;

else if(isupper(s[i])) result = base * result + s[i] – ‘A’ + 10;

else if(isdigit(s[i])) result = base * result + s[i] – ‘0’;

++i;

}

}

else { // 數基為 0 — 10 時

while(s[i]) {

if(isdigit(s[i])  (s[i] – ‘0’  base))

result = base * result + s[i] – ‘0’;

++i;

}

}

return sign * result;

}

int main() {

    int base; 

    char s[MAX_STR_LEN]; 

    while( (scanf(“%d:”, base) != EOF)  (gets(s) != NULL) )

        printf(“%d\n”, strToInt(s, base)); 

    return 0; 

}

!!!跪求C語言實現矩陣運算(加,減,乘、求逆、轉置)

1、首先打開vs2015(其他版本也可以),新建一個Windows Form窗體程序或者控制台都可以。

2、 定義一個名為array1的數組並賦值:double[,] array1 = new double[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };下面求該矩陣轉置矩陣。

3、接下來實現矩陣的轉置運算,可以寫函數也可以寫類,右鍵解決方案下的項目名,添加-類。

4、創建一個名為「turnzhi」的類(名字隨便取,最好用英文,有時候中文名程序會報錯),然後點擊「添加」。

5、轉置類的代碼如下圖所示。

6、在主程序調用轉置類,用兩個for循壞將轉置後的數組(array)輸出來;並將結果顯示在textbox中。

7、最後運行程序查看編寫的結果:147、258、369。轉置後的結果正確,這樣就實現了c#矩陣的轉置運算。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/184561.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-25 17:24
下一篇 2024-11-25 17:24

相關推薦

  • Python將矩陣存為CSV文件

    CSV文件是一種通用的文件格式,在統計學和計算機科學中非常常見,一些數據分析工具如Microsoft Excel,Google Sheets等都支持讀取CSV文件。Python內置…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python雙重循環輸出矩陣

    本文將介紹如何使用Python雙重循環輸出矩陣,並從以下幾個方面詳細闡述。 一、生成矩陣 要輸出矩陣,首先需要生成一個矩陣。我們可以使用Python中的列表(List)來實現。具體…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • 二階快速求逆矩陣

    快速求逆矩陣是數學中的一個重要問題,特別是對於線性代數中的矩陣求逆運算,如果使用普通的求逆矩陣方法,時間複雜度為O(n^3),計算量非常大。因此,在實際應用中需要使用更高效的演算法。…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28

發表回復

登錄後才能評論