1
我必須編寫一個不使用*運算符來乘兩個矩陣的c程序。我寫了一個代碼,但結果是不正確的我認爲與while循環的東西是不正確的。我希望有人能幫幫忙。問候中號c:沒有*運算符的矩陣乘法
這裏是我的代碼:
#include<stdio.h>
int main()
{
int matrix1[4][4];
int matrix2[4][4];
int matrix3[4][4];
int a;
int b;
int c;
int sum;
int multi = 0;
//first matrix
for(a=0; a<4; a++)
{
for(b=0; b<4; b++)
{
scanf("%d", &matrix1[a][b]);
}
}
//second matrix
for(a=0; a<4; a++)
{
for(b=0; b<4; b++)
{
scanf("%d", &matrix2[a][b]);
}
}
//Multiplication:
for(a=0; a<=3; a++)
{
for(b=0; b<=3; b++)
{
sum=0;
for(c=0; c<=3; c++)
{
while(matrix2[c][b]>0)
{
multi += matrix1[a][c];
matrix2[c][b]--;
}
}
sum = sum+multi;
matrix3[a][b]=sum;
}
}
//result;
for(a=0; a<4; a++)
{
for(b=0; b<4; b++)
{
printf(" %d ", matrix3[a][b]);
}
printf("\n");
}
return 0;
}
想想乘法定義你的代碼修改矩陣的初始值。 – dbush
「我認爲」聽起來像你需要學習如何使用調試器。知道如何調試程序非常方便,並且是技能的一部分。 –
在算術運算符中的'*'運算符,或在*中的指針/解引用運算符? –