Write a C++ program that computes the sum of two square matrices using a two-dimensional array. Generate random values using the rand () function.
SAMPLE OUTPUT:
matrix 1
1
2
3
4
5
6
1
2
3
matrix 2
3
4
5
8
7
6
9
10
11
Sum of matrices is
4
6
8
12
11
12
10
12
14
#include <iostream>
#include <cstdlib>
#include <ctime>
const int MATRIX_ROWS_COUNT = 3;
const int MATRIX_COLUMNS_COUNT = 3;
int GetRndElement()
{
//[0; 10)
return rand() % 10;
}
void FillMatrix(int matrix[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT])
{
for(int i=0; i<MATRIX_ROWS_COUNT; ++i)
{
for(int j=0; j<MATRIX_COLUMNS_COUNT; ++j)
{
matrix[i][j] = GetRndElement();
}
}
}
void PrintMatrix(int matrix[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT])
{
for(int i=0; i<MATRIX_ROWS_COUNT; ++i)
{
for(int j=0; j<MATRIX_COLUMNS_COUNT; ++j)
{
std::cout << matrix[i][j] << "\t";
}
std::cout << "\n";
}
}
void SumMatrix(int matrix1[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT]
,int matrix2[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT]
,int matrix3[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT])
{
for(int i=0; i<MATRIX_ROWS_COUNT; ++i)
{
for(int j=0; j<MATRIX_COLUMNS_COUNT; ++j)
{
matrix3[i][j] = matrix1[i][j] + matrix2[i][j];
}
}
}
int main()
{
srand(static_cast<unsigned>(time(NULL)));
int matrix1[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT];
int matrix2[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT];
int matrix3[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT];
FillMatrix(matrix1);
FillMatrix(matrix2);
SumMatrix(matrix1, matrix2, matrix3);
std::cout << "matrix 1\n";
PrintMatrix(matrix1);
std::cout << "\nmatrix 2\n";
PrintMatrix(matrix2);
std::cout << "\nSum of matrices is\n";
PrintMatrix(matrix3);
return 0;
}
Comments
Leave a comment