Programa C ++ para multiplicar dos matrices pasando la matriz a la función

Tabla de contenido

En este ejemplo, aprenderá a multiplicar dos matrices y mostrarlas usando la función definida por el usuario.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de C ++:

  • Matrices C ++
  • Matrices multidimensionales C ++
  • Pasar una matriz a una función en la programación de C ++

Este programa le pide al usuario que ingrese el tamaño de la matriz (filas y columnas).

Luego, le pide al usuario que ingrese los elementos de dos matrices y finalmente multiplica dos matrices y muestra el resultado.

Para realizar esta tarea se realizan tres funciones:

  1. Para tomar elementos de matriz del usuario
  2. Para multiplicar dos matrices
  3. Para mostrar la matriz resultante después de la multiplicación

Ejemplo: multiplicar matriz pasándola a una función

 #include using namespace std; void enterData(int firstMatrix()(10), int secondMatrix()(10), int rowFirst, int columnFirst, int rowSecond, int columnSecond); void multiplyMatrices(int firstMatrix()(10), int secondMatrix()(10), int multResult()(10), int rowFirst, int columnFirst, int rowSecond, int columnSecond); void display(int mult()(10), int rowFirst, int columnSecond); int main() ( int firstMatrix(10)(10), secondMatrix(10)(10), mult(10)(10), rowFirst, columnFirst, rowSecond, columnSecond, i, j, k; cout <> rowFirst>> columnFirst; cout <> rowSecond>> columnSecond; // If colum of first matrix in not equal to row of second matrix, asking user to enter the size of matrix again. while (columnFirst != rowSecond) ( cout << "Error! column of first matrix not equal to row of second." << endl; cout <> rowFirst>> columnFirst; cout <> rowSecond>> columnSecond; ) // Function to take matrices data enterData(firstMatrix, secondMatrix, rowFirst, columnFirst, rowSecond, columnSecond); // Function to multiply two matrices. multiplyMatrices(firstMatrix, secondMatrix, mult, rowFirst, columnFirst, rowSecond, columnSecond); // Function to display resultant matrix after multiplication. display(mult, rowFirst, columnSecond); return 0; ) void enterData(int firstMatrix()(10), int secondMatrix()(10), int rowFirst, int columnFirst, int rowSecond, int columnSecond) ( int i, j; cout << endl << "Enter elements of matrix 1:" << endl; for(i = 0; i < rowFirst; ++i) ( for(j = 0; j < columnFirst; ++j) ( cout << "Enter elements a"<< i + 1 << j + 1 <> firstMatrix(i)(j); ) ) cout << endl << "Enter elements of matrix 2:" << endl; for(i = 0; i < rowSecond; ++i) ( for(j = 0; j < columnSecond; ++j) ( cout << "Enter elements b" << i + 1 << j + 1 <> secondMatrix(i)(j); ) ) ) void multiplyMatrices(int firstMatrix()(10), int secondMatrix()(10), int mult()(10), int rowFirst, int columnFirst, int rowSecond, int columnSecond) ( int i, j, k; // Initializing elements of matrix mult to 0. for(i = 0; i < rowFirst; ++i) ( for(j = 0; j < columnSecond; ++j) ( mult(i)(j) = 0; ) ) // Multiplying matrix firstMatrix and secondMatrix and storing in array mult. for(i = 0; i < rowFirst; ++i) ( for(j = 0; j < columnSecond; ++j) ( for(k=0; k 

Output

 Enter rows and column for first matrix: 3 2 Enter rows and column for second matrix: 3 2 Error! column of first matrix not equal to row of second. Enter rows and column for first matrix: 2 3 Enter rows and column for second matrix: 3 2 Enter elements of matrix 1: Enter elements a11: 3 Enter elements a12: -2 Enter elements a13: 5 Enter elements a21: 3 Enter elements a22: 0 Enter elements a23: 4 Enter elements of matrix 2: Enter elements b11: 2 Enter elements b12: 3 Enter elements b21: -9 Enter elements b22: 0 Enter elements b31: 0 Enter elements b32: 4 Output Matrix: 24 29 6 25 

Articulos interesantes...