es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Insertando un arreglo unidimensional en un arreglo bidimensional.

¿Podemos insertar directamente un arreglo unidimensional en un arreglo bidimensional?

Por ejemplo, tengo este código:

void insert(int[] data, int** collection)
{
collection[1] = data;
}

int main()
{
int data[2] = {1, 3};
int collection[2][2];
insert(data, &collection);
}

¿Funcionará esto?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    No, no podemos insertar directamente una matriz unidimensional en una matriz bidimensional. En el código de ejemplo proporcionado, la función de inserción toma una matriz unidimensional ‘data’ y un puntero a una matriz bidimensional ‘collection’. Sin embargo, ‘collection’ está declarado como una matriz bidimensional, lo que significa que consiste en una matriz de matrices. Por lo tanto, necesitamos proporcionar la referencia al primer elemento de la matriz de matrices, lo cual se puede hacer usando ‘&collection[0][0]’. Por lo tanto, el código corregido sería:

    void insert(int data[], int* collection[])
    {
        collection[1] = data;
    }
    
    int main()
    {
        int data[2] = {1, 3};
        int collection[2][2];
        insert(data, &collection[0]);
    }
    

    Aquí, estamos pasando la referencia al primer elemento de la matriz bidimensional.

Comments are closed.