How to multiply matrix by vector in C++

2 Answers

0 votes
#include <iostream>

#define COLS 3
#define ROWS 2
 
void matrix_x_vector(int matrix[][COLS], int vector[], int multiplied_array[]) {
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            multiplied_array[i] += matrix[i][j] * vector[j];
        }
    }
}
 
 
int main()
{
    int vector[COLS] = {3, 4, 3};
    int matrix[ROWS][COLS] = {
            {0, 3, 5},
            {5, 6, 2}};
    int multiplied_array[2] = {0};
 
 
    matrix_x_vector(matrix, vector, multiplied_array);
 
    for (int i = 0; i < ROWS; i++)
        std::cout << multiplied_array[i] << ' ';
}
 
 
 
/*
run:
 
27 45 
 
*/

 



answered Mar 23, 2022 by avibootz
0 votes
#include <iostream>
#include <vector>

#define COLS 3
#define ROWS 2
 
void matrix_x_vector(int matrix[][COLS], const std::vector<int> &v, int multiplied_array[]) {
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            multiplied_array[i] += matrix[i][j] * v[j];
        }
    }
}
 
 
int main()
{
    std::vector<int> v = {3, 4, 3};
    int matrix[ROWS][COLS] = {
            {0, 3, 5},
            {5, 6, 2}};
    int multiplied_array[2] = {0};
 
 
    matrix_x_vector(matrix, v, multiplied_array);
 
    for (int i = 0; i < ROWS; i++)
        std::cout << multiplied_array[i] << ' ';
}
 
 
 
 
/*
run:
 
27 45 
 
*/

 



answered Mar 23, 2022 by avibootz

Related questions

1 answer 146 views
146 views asked Mar 23, 2022 by avibootz
1 answer 119 views
119 views asked Mar 28, 2022 by avibootz
1 answer 136 views
136 views asked Mar 27, 2022 by avibootz
1 answer 85 views
85 views asked Mar 24, 2022 by avibootz
1 answer 106 views
2 answers 173 views
...