Я пытаюсь умножить 2-мерные матрицы на языке C. Я привел ниже код для вашей справки. Когда я пытаюсь напечатать «myC», я продолжаю получать нули. Где я иду не так? Я пробовал несколько вещей и до сих пор не могу понять это. У кого-нибудь есть идеи, это было бы очень полезно.Матричное умножение на языке C
#include <stdio.h>
#define mysize 4
int myA[mysize][mysize];
int myC[mysize][mysize];
int i,k;
int j,l;
int total;
int iLimit;
int jLimit;
void printMatrix(int iLimit,int jLimit,int myA[iLimit][jLimit]){
i=0;
while (i<iLimit){
j=0;
while (j<jLimit){
printf ("%7d", myA[i][j]);
j=j+1;
}
printf ("\n");
i=i+1;}
}
int main(void){
iLimit=mysize;
jLimit=mysize;
k=0;
while (k < iLimit){
l=0;
while (l < jLimit) {
scanf ("%d",&myA[k][l]);
l=l+1;
}
k=k+1;
}
printMatrix(mysize,mysize,myA);
myC[i][j]=myA[i][k]*myA[k][j];
printf("\n");
printMatrix(mysize,mysize,myC);
return 0;
}
Это весь код, который вы ожидаете умножить на свои матрицы? 'Myc [I] [J] = my [I] [к] * my [к] [J];'. Вы знаете достаточно о циклах, чтобы понять, почему это не работает. – Adam