tudor balus
tudor balus

Reputation: 149

Multiplying two one-dimensional arrays

A quick question that bugs me (both from a mathematical perspective and implementation-wise). How do you multiply two one-dimensional arrays?

If we have:

int[] a = {1,2,3};
int[] b = {4,5,6};

And we wanna put the result into a variable c, how do you do the math and the implementation? Should c also be one-dimensional or two-dimensional?

Thank you in advance!

EDIT: To everyone asking what I want. I'm trying to solve a math problem that literally tells me:

a = {1,2,3};
b = {4,5,6};

c = a * b; //what is c?

I found nothing on the internet on how to do it mathematically and I am equally puzzled on how to do it in a programming language.

Upvotes: -2

Views: 8408

Answers (1)

Martin Morales
Martin Morales

Reputation: 48

I'm not sure if you are trying to find the sum if everything, or trying to create a matrix with the multiplication.

For sum refer to duffymo's answer.

For a new array, the end product will be:

int[][] c= {{4, 8, 12}, {5, 10, 15}, {6, 12, 18}};

Idea: You can just loop through both of them and multiply each index. Then store the products in int[][] c. You can also just have them in a list depending on your implementation like so: c = {4, 8, 12, 5, 10, 15, 6, 12, 18}.

int[][] c = new int[a.length][b.length];
// int[] c = new int[a.length * b.length];
for(int i = 0; i < a.length; i++){
    for(int j = 0; j < b.length; b++){
        c[i][j] = a[i] * b[j];
        // c[i * a.length + j] = a[i] * b[j]; if you want to store it in a 1D array
        // Try a few examples to see why this will work for 1D array
    }
}

Upvotes: 1

Related Questions