• Blog
  • Acerca
  • Autor
  • Contacto
  • Bueno, casi creo que nunca he hablado de matrices, parámetros o funciones en este blog, pero este post es una petición de Rodrigo que me dijo por email que tenía problemas con su tarea porque no sabe cómo pasar una matriz como parámetro a una función en c++. Es algo sencillo, pero difícil de deducir. Veamos.

    Si tu arreglo es de una dimensión…
    int matriz[4];
    … la forma de declarar la función es la siguiente:
    void fx(int m[4]) { ...código... }
    Y la forma de llamar la función sería:
    fx(matriz);

    Si el arreglo es de dos dimensiones…
    int matriz[4][3];
    … pues es lo mismo:
    void fx(int m[4][3]) { ...código... }
    Y la forma de llamar la función sería:
    fx(matriz);

    Si la función retorna una matriz…
    int matriz[4];
    … se declara normal:
    void fx(int m[4]) { return matriz[4]; }
    Y la forma de llamar la función sería:
    matriz[4] = fx(matriz);

    Este programa pide tres números, los almacena en una matriz, le suma 1 a cada elemento y los muestra, usando para cada acción una función. Así que tenemos funciones que reciben matrices y que retornan matrices. Chéquenlo.

    #include<iostream>
    using namespace std;
     
    void pedir(int matriz[3], int len)
    {
        for(int i=0; i<=len; i++)
        {
            cout << "Numero " << i+1 << ":? ";
            cin >> matriz[i];
        }
    }
     
    int sumar(int matriz[3], int len)
    {
        for(int i=0; i<=len; i++)
            matriz[i]++;
        return matriz[3];
    }
     
    void mostrar(int matriz[3], int len)
    {
        for(int i=0; i<=len; i++)
            cout << matriz[i] << " ";
    }
     
    int main()
    {
        int matriz[3]={0}, len = sizeof(matriz)/sizeof(int);
        pedir(matriz, len-1);
        matriz[3] = sumar(matriz, len-1);
        mostrar(matriz, len-1);
        return 0;
    }
    1. Rodrigo dice:

      muchas gracias, mi duda-se me habia olvidado especificar jeje- era como se podia ingresar una matriz variable, me explico que el usuario ingrese la dimension(numero de filas y columnas) luego se cree con esas variable.Ej si el numero de filas los guardo en F, y columnas C.Luego

      int matriz[F][C]; //Y eso ingresarlo en la funcion.

      pero buscando y buscando encontre interesante informacion en donde dice que no se puede hacer por lo q se debe crear una matriz lo suficientemente grande (matriz[100][100])y luego llenarla.

      De todos modos la informacion de este articulo es bastante buena y se aprecia de verdad. muchas gracias por tu disposicion y voluntad,espero aportar a esta pagina con codigo más adelante.

    2. emanuel dice:

      hablando de matrices, hablando entre amigos de los posibles tipos de ejercicios del 2º parcial se nos ocurrio si era posible hacer una funcion q calule el determinante de un matriz en ese momento a mas de uno le entro un escalofrio, por eso pido ayuda o ideas de como puedo hacer ese tipo de prog (creo q si es de 3×3 la matriz hacer sarrows no es jodido pero…)
      disculpen por el lugar donde comento.

    3. Moises Galvan dice:

      Muy bueno ese codigo, pero tengo algo mas, si tengo un archivo de datos, osea un txt de numero y quiero halarlo en un arreglo, oseas, leerlo para sumar dichos numeros, como lo hago?

    4. LITO! dice:

      COMO PUEDO LLAMAR A UN VECTOR QE ESTA EN UN FORM1 Y ENVIAR SUS DATOS A UNA MATRIZ Q ESTA EN UN FORM2 EN C++ ???

    5. Hugo dice:

      c) se tiene dos vectores de cualquier tipo
      a[]={‘A’,'B’,'C’}
      b[]={‘C’,'F’,'D’}

      x[]={2,6,1}
      y{]={12,2,7,8}

      hacer la union de conjuntos un(a,b) => ‘A’,'B’,'C’,'D’,'F’
      hacer la interseccion
      hacer diferencia a-b
      hacer diferencia b-a

      DEV C++

    6. Diego Román dice:

      Hola, una preguna, ¿puedo pasar esta matriz como referencia?

    7. camila dice:

      es posible que compartieras mas ejemplos de while y for es que tengo parcial y quisiera empaparme mas en esto por favor gracias.

    8. Anonimo dice:

      Pero a donde te los envío… ???

    9. camila dice:

      tienes facebook?

    10. Candela dice:

      ¿qué función cumple la variable “len”??

    Hola, escribe aquí tu comentario: