With monday.comâ€™s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

I've multiplied 2 matrices

eg

6 1.5 8 7

4 1 * 6 4

my results were

57 48

38 32

what i am trying to do now is find the average of

57 + 48 = 105 / 2 = 52.5 and

38 + 32 = 70 / 2 = 35

any ideas?

eg

6 1.5 8 7

4 1 * 6 4

my results were

57 48

38 32

what i am trying to do now is find the average of

57 + 48 = 105 / 2 = 52.5 and

38 + 32 = 70 / 2 = 35

any ideas?

52.5 + 35 = 87.5

87.5 / 2 = 43.75

The average is 43.75

Sum(items)/QtyItems=Averag

for instance after i mulitply the two matrices i end up with

57 48

38 32

and lets say that these numbers fit into sales figure chart

north region

plant x plant y

57 48 roller blades

38 32 golf clubs

what i want for my results is

57 + 48 = 105 / 2 = 52.5 and

38 + 32 = 70 / 2 = 35

so my sales chart will look like this

north region

plant x plant y

57 48 roller blades

38 32 golf clubs

northern region average cost roller blades $52.5

northern region average cost golf clubs $35

thanks i hope this helps clear any confusion

How is the data recorded in the program? In an array? In an array class? in seperate variables? will there always be two numbers to average?

The general idea is you add yup the number to be averaged, then divide them by the number of items you are averaging. like

int Array[5] = {10,11,12,13,14};

int ArraySize = 5;

int Average = 0;

for (int i = 0; i < AraySize; ++i)

Average += Array[i];

Average /= ArraySize;

class Matrix

{

private:

int size;

float Val[50][50];

public:

void MakeEmpty(int n);

void StoreValue(int, int, float v);

Matrix operator-(Matrix &mat1);

Matrix operator+(Matrix &mat1);

Matrix operator*(Matrix &mat1);

void PrintMatrix();

void PrintHeader();

};

EastHour.MakeEmpty(2);

EastCash.MakeEmpty(2);

WestHour.MakeEmpty(2);

WestCash.MakeEmpty(2);

these above statements call the function makeempty which initializes the matrix

void Matrix::MakeEmpty(int n)

{

size = n;

for(int i=0; i < size; i++)

for(int j=0; j < size; j++)

Val[i][j] = 0.0;

}

EastHour.StoreValue(0,0,6)

EastHour.StoreValue(0,1,1.

EastHour.StoreValue(1,0,4)

EastHour.StoreValue(1,1,1)

EastCash.StoreValue(0,0,8)

EastCash.StoreValue(0,1,7)

EastCash.StoreValue(1,0,6)

EastCash.StoreValue(1,1,4)

then these above statements call the the function storevalue to store values

void Matrix::StoreValue(int i,int j, float v)

{

Val[i][j]=v;

}

then i call my overload multiply fuction

result = eashhour * eashcash

in my function i initialize my result(result.makeempty)

then after my for loops i return result which = 57 48 38 32

the problem is that my array(matrix) now contains 57 48 38 32 and what i want to do is get the average of 57 and 48(52.5), then get the average of 38 and 32(35).

Your matrix has only one varaible, "size", to control the dimensions. That doesn't seem very logical as then you have to have square matrixes. You probably want to have two varaibles that control the size.

The logic of how you calculate the average is exactly like I posted above. i.e. like

float Average = 0;

for (int i = 0; i < Size; ++i)

Average += Val[0][i];

Average /= Size;

which calcualtes the average for the first row. However, I'm not sure how you want to employ that in your class. The probelm is that you have multiple rows, so there are multiple values to be calculated. I'm not sure how you want to store them or how you want to design your interface so that only a specific one would be calculated. Perhaps you want to do something like

float Matrix::CalcAverage(int RowNumber);

where RowNumber indicates which row to calculate for.

All Courses

From novice to tech pro — start learning today.

hai,

you declared as two dimensional maitrx. so easily you can get the answer. in your class you declared a variable

"size". will it specify the matrix should be square matrix.

after you got the product of that matrix.

declare a matrix "a[size][1]" to pop your answer into

that matrix.

for(i=0;i<size;i++)

{

for(j=0;j<size;j++)

{

x+=b[i,j];

}

a[i,0]=x/size;

}

i think you got.

bhargava