Sintaxis para el Paso de Parámetros de Tipo Matriz
Declaración de la Función:
void nombreDeFuncion(tipo nombreMatriz[][numeroDeColumnas], int numeroDeFilas, int numeroDeColumnas);
Llamada a la Función:
nombreDeFuncion(nombreMatriz, numeroDeFilas, numeroDeColumnas);
Nota: El número de columnas debe ser especificado en la declaración de la función.
Ejemplo Práctico
El siguiente ejemplo muestra cómo pasar una matriz a una función para elevar al cuadrado cada uno de sus elementos y luego mostrar la matriz resultante.
Código:
// Paso de parámetros tipo matriz
// Elevar al cuadrado todos los elementos de una matriz
#include <iostream>
#include <stdlib.h>
using namespace std;
// Prototipos de funciones
void mostrarMatriz(int m[][3], int nFilas, int nColumnas);
void calcularCuadrado(int m[][3], int nFilas, int nColumnas);
int main() {
const int nFilas = 2; // Número de filas de la matriz
const int nColumnas = 3; // Número de columnas de la matriz
// Inicialización de la matriz
int matriz[nFilas][nColumnas] = {{1, 2, 3}, {4, 5, 6}};
// Mostrar la matriz original
cout << "\nMostrando matriz original: \n";
mostrarMatriz(matriz, nFilas, nColumnas);
// Elevar al cuadrado cada elemento de la matriz
cout << "\nMostrando matriz elevada al cuadrado: \n";
calcularCuadrado(matriz, nFilas, nColumnas);
// Mostrar la matriz después de elevar al cuadrado
mostrarMatriz(matriz, nFilas, nColumnas);
cout << "\n";
system("pause"); // Pausar para que el usuario pueda ver la salida
return 0;
}
// Función para mostrar la matriz
void mostrarMatriz(int m[][3], int nFilas, int nColumnas) {
for(int i = 0; i < nFilas; i++) {
for(int j = 0; j < nColumnas; j++) {
cout << m[i][j] << " "; // Imprimir cada elemento
}
cout << "\n"; // Imprimir una nueva línea al final de cada fila
}
}
// Función para elevar al cuadrado cada elemento de la matriz
void calcularCuadrado(int m[][3], int nFilas, int nColumnas) {
for(int i = 0; i < nFilas; i++) {
for(int j = 0; j < nColumnas; j++) {
m[i][j] *= m[i][j]; // Elevar al cuadrado el valor en la posición (i, j)
}
}
}
Explicación del Código
Declaración de Funciones:
void mostrarMatriz(int m[][3], int nFilas, int nColumnas);: Muestra los elementos de la matriz en la consola. Se debe especificar el número de columnas (3 en este caso).void calcularCuadrado(int m[][3], int nFilas, int nColumnas);: Eleva al cuadrado cada elemento de la matriz.
Función
main:- Se declaran y inicializan una matriz
matrizde tamañonFilas x nColumnas(2x3) con valores{1, 2, 3}y{4, 5, 6}. - Se llama a
mostrarMatrizpara imprimir la matriz original. - Luego, se llama a
calcularCuadradopara modificar la matriz elevando cada elemento al cuadrado. - Finalmente, se llama a
mostrarMatriznuevamente para imprimir la matriz después de la modificación.
- Se declaran y inicializan una matriz
Función
mostrarMatriz:- Utiliza un bucle
foranidado para recorrer e imprimir cada elemento de la matriz. Imprime una nueva línea al final de cada fila.
- Utiliza un bucle
Función
calcularCuadrado:- Utiliza un bucle
foranidado para recorrer y elevar al cuadrado cada elemento de la matriz. El valor en la posición(i, j)se modifica directamente.
- Utiliza un bucle
Resultados Esperados
Al ejecutar el programa, la matriz original {1, 2, 3} y {4, 5, 6} se transforma en {1, 4, 9} y {16, 25, 36} después de la llamada a calcularCuadrado, y se imprime en la consola.
Salida esperada:
Mostrando matriz original:
1 2 3
4 5 6
Mostrando matriz elevada al cuadrado:
1 4 9
16 25 36
Consideraciones
- Número de Columnas: Al pasar una matriz a una función, el número de columnas debe ser especificado en la declaración de la función. Esto es necesario para que la función pueda calcular correctamente las posiciones de los elementos de la matriz.
- Modificación Directa: Los cambios hechos en la función
calcularCuadradoafectan directamente a la matriz original enmain.