Если ты умножаешь матрицу k*n на матрицу n*l, то результатом будет матрица k*l. И матрица C у тебя - не 3*3, а 3*1.
Само-же умножение делается так:
double A[3][3] = {
{1.2, 0.9, 0.75},
{1.35, 1.1, 0.8},
{0.7, 0.6, 0.5}
};
double B[3][1] = {
{150},
{120},
{70}
};
double C[3][1] = {0}; // заполняем нулями
for (int i = 0; i < 3; i++) { // кол-во строк в A
for (int j = 0; j < 1; j++) { // кол-во столбцов в B
for (int k = 0; k < 3; k++) { // кол-во столбцов в A == кол-во строк в B
C[i][j] += A[i][k] * B[k][j];
}
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 1; j++) {
cout << C[i][j] << ' ';
}
cout << '\n';
}
180. 108. 52.5
202.5. 132 56
105. 72 35
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float A[3][3] = {
{1.2, 0.9, 0.75},
{1.35, 1.1, 0.8},
{0.7, 0.6, 0.5}};
float B[3][1] = {
{150},
{120},
{70}};
float C[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
C[j][i] = A[j][0] * B[0][0];
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
C[j][i] += A[j][1] * B[1][0];
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
C[j][i] += A[j][2] * B[2][0];
}
}
// Выводим результат
cout << "Результат умножения матриц A и B:" << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << C[i][j] << " ";
}
cout << endl;
}
return 0;
}