Go Premium for a chance to win a PS4. Enter to Win

x
Solved

# scalar multiplication of matrices in C

Posted on 2008-10-06
Medium Priority
1,691 Views
Last Modified: 2010-05-18
I need to create a program in C language that will calculate the multiplication of a matrix times a scalar value. All the user input should be read from a file. The input file must contain the size of matrix as well as the values stored inside the matrix and the scalar value by which the matrix will multiplied. The resulting matrix is to be stored in a new matrix called mResult and printed on the screen. Must have at least two functions aside from the main function. One hould handle the scalar*matrix multiplication and the other the output. Use any of the following loops; while, do-while, while.
0
Question by:wlgarcia
6 Comments

LVL 53

Expert Comment

ID: 22649962
And what's your question ?
0

LVL 5

Expert Comment

ID: 22650279
Simple.

Good luck!

``````<edited by sunnycoder>
ZAPE
``````
0

LVL 3

Expert Comment

ID: 22656150
You have to create a class call Matrix.

To enable operation such as M * k (k is a scalar value, and M is a matrix), you need to overload the operator * in C. How much do you know about operator overloading?

If you are beginner to operator overloading, you may read this tutorial: http://www.learning-computer-programming.blogspot.com/2007/08/introduction-to-operator-overloading-in.html

Let me know your progress. Post questions if you are stucked, and we'll try to guide you along.

Regards,
wktang83
0

LVL 5

Accepted Solution

jose_juan earned 500 total points
ID: 22656927
Uhm....

Yes wktang83, your way are a good way but I think, wlgarcia is begginer.

I suggest to wlgarcia understand IO reading in C/C++ (printf, scanf functions), basic types (char, int, float, double, ...) and basic flow control (if, for, while, do-while, ...).

For print a message to user (console mode) you can do

printf("Enter a number: ");

For read a number into a variable:

float number;
scanf("%f", &number);
// now, number have the input

To implement a matrix on your program you must known the array and allocation in C/C++ using (understanding):

float matrix[ 30 ][ 30 ];
float matrix[ 30 * 30 ];
float *matrix = new float [ 30 * 30 ];
float **matrix; // iteration for population is needed

To iterate a bidimensional array you can do

for( int row = 0; row < max_rows; row++ )
for( int col = 0; col < max_cols; col )
printf("%f ", matrix[ row ][ col ] );

and, a while or do-while version? (without for)

Good luck!

0

Author Closing Comment

ID: 31503410
I have some understanding about I/O. so the piece of advice you have given me is sufficient for me to build the program.
0

## Featured Post

Question has a verified solution.

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

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
Examines three attack vectors, specifically, the different types of malware used in malicious attacks, web application attacks, and finally, network based attacks.  Concludes by examining the means of securing and protecting critical systems and inf…
The goal of this video is to provide viewers with basic examples to understand and use pointers in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
###### Suggested Courses
Course of the Month12 days, 10 hours left to enroll

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

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