評價: 0 回應: 0 閱覽: 147
置頂

矩陣的次方問題

目前的程式是執行矩陣平方的結果

我希望算出這個矩陣的n次方(假設n是1000)

請問我該怎麼設定呢?

另外目前矩陣只能輸入整數

有辦法改成輸入小數嗎?

#include<stdio.h>

#include<conio.h>

int main()

{

int a[10][10],mult[10][10],r1,c1,i,j,k;


printf("請輸入矩陣的rows跟columns:");
scanf("%d%d",&r1,&c1);

//儲存矩陣的元素

printf("\n輸入第一個矩陣的elements:\n");

for(i=0;i<r1;++i)

for(j=0;j<c1;++j)

{
printf("Enter elements a%d%d:",i+1,j+1);

scanf("%d",&a[i][j]);

}


//初始化最終的matrix

for(i=0;i<r1;++i)

for(j=0;j<c1;++j)

{
mult[i][j]=0;
}



//矩陣相乘

for(i=0;i<r1;++i)

for(j=0;j<c1;++j)

for(k=0;k<c1;++k)
{

mult[i][j]+=(a[i][k]*a[k][j]);

}

//OUTPUT矩陣

printf("\n矩陣輸出:\n");

for(i=0;i<r1;++i)

for(j=0;j<c1;++j)

{

printf("%d",mult[i][j]);

if(j==c1-1)
printf("\n\n");

}

getch();

}

 

會員登入 (先登入會員才能回覆留言喔!)

Facebook留言