开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev-C++
问题(Question):
目前的程式是执行矩阵平方的结果
我希望算出这个矩阵的n次方(假设n是1000)
请问我该怎么设定呢?
另外目前矩阵只能输入整数
有办法改成输入小数吗?
程式码(Code):(请善用置底文网页, 记得排版)
#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();
}
以上
谢谢各位好心的大大