Solved

# C++ Help Multiplying Matrices

Posted on 2014-04-13
228 Views
Last Modified: 2014-04-13
Hello I would like help in multiplying 2 matrices in the attached code,  the 2 matrices being multiplied are the V_prime_matrix[6][1] and the d_prime_matrix[1][6] and the result matrix being f_bar would be a single number.

Can anyone help me?
QAP-EE-Code.txt
0
Question by:college_student
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• Learn & ask questions
• 6
• 6
12 Comments

LVL 86

Expert Comment

ID: 39997892
>> result matrix being f_bar would be a single number.

That is right, in your special case the result of 'V_prime_matrix[6][1] * d_prime_matrix[1][6]' es quivalent to the scalar product (http://en.wikipedia.org/wiki/Scalar_product) - so you can rewrite your code to just one loop:

``````int f_bar = 0;
for (int i = 0; i < 6; i++)
{
f_bar += V_prime_matrix[x][0] * d_prime_matrix[0][i];
cout << f_bar << endl;
}
``````
0

LVL 86

Expert Comment

ID: 39997893
Ooops, that formatting is downright ugly, make that

``````int f_bar = 0;

for (int i = 0; i < 6; i++)
{
f_bar += V_prime_matrix[x][0] * d_prime_matrix[0][i];
cout << f_bar << endl;
}

``````
0

Author Comment

ID: 39997896
thanks, but this didnt work. Im getting errors
0

LVL 86

Expert Comment

ID: 39997899
Um, what errors exactly?
0

Author Comment

ID: 39997900
why did you change it to [x][0] and [0][1]? I dont understand that.
Also shouldnt it be f_bar[x][x] or something similar, not just f_bar by itself?
0

Author Comment

ID: 39997902
Errors:

Error      1      error C2106: '+=' : left operand must be l-value      c:\users\carlosneal\documents\visual studio 2013\projects\consoleapplication4\consoleapplication4\source.cpp      52      1      ConsoleApplication4
2      IntelliSense: expression must be a modifiable lvalue      c:\Users\carlosneal\Documents\Visual Studio 2013\Projects\ConsoleApplication4\ConsoleApplication4\Source.cpp      52      3      ConsoleApplication4
0

LVL 86

Expert Comment

ID: 39997909
Ah, I see - sorry, but then make that

``````f_bar[0][0] = 0;

for (int i = 0; i < 6; i++)
{
f_bar[0][0] += V_prime_matrix[x][0] * d_prime_matrix[0][i];

}

cout << f_bar[0][0] << endl;

``````
0

Author Comment

ID: 39997913
still getting errors, its saying that i and j are unreferenced local variables and x is unititialized local variable
0

LVL 86

Accepted Solution

jkr earned 500 total points
ID: 39997922
Copy and paste error, sorry again - the snippet should be

``````f_bar[0][0] = 0;

for (int i = 0; i < 6; i++)
{
f_bar[0][0] += V_prime_matrix[i][0] * d_prime_matrix[0][i];

}

cout << f_bar[0][0] << endl;

``````

And you should of course remove the declarations of the variables you aren't using any longer, if not, you get these warnings - so that is

``````int main()
{
display_opening_logo();
cout << setw(16) << SKIP << endl;

costMatrix();
int cost_of_original_layout = f_star();
cout << "Press <Enter> to coninue " << endl;
cout << setw(16) << SKIP << endl;
char ch = _getch();
cout << "The cost of the original existing layout is " << "\$" << cost_of_original_layout << endl;

for (int i = 0; i < 6; i++)
{
f_bar[0][0] += V_prime_matrix[i][0] * d_prime_matrix[0][i];
}

cout << f_bar[0][0] << endl;

system("PAUSE");
return 0;

}
``````
0

Author Comment

ID: 39997926
Thanks it works now!!
0

Author Closing Comment

ID: 39997927
Very helpful and resourceful!!
0

LVL 86

Expert Comment

ID: 39997933
You're most welcome ;o)
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there isâ€¦
In days of old, returning something by value from a function in C++ was necessarily avoided because it would, invariably, involve one or even two copies of the object being created and potentially costly calls to a copy-constructor and destructor. Aâ€¦
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relatâ€¦
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
###### Suggested Courses
Course of the Month4 days, 12 hours left to enroll

#### 738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.