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.

Tengo una variable y una matriz, ¿cómo mover los elementos hacia la derecha?

Tengo una matriz que es 3*3 por ejemplo, y tengo una variable = 10.
Esta variable representa el primer elemento del nuevo arreglo. Necesito almacenar el último elemento también en una nueva variable.
Necesito mover la matriz de izquierda a derecha, de derecha a izquierda, de arriba hacia abajo y de abajo hacia arriba, desplazando los elementos y obteniendo el último elemento.
Por ejemplo, la matriz predeterminada:

[[0,1,2]
[3,4,5]
[6,7,8]]

Desplazando la primera fila con variable=5:

[[5,0,1]
[3,4,5]
[6,7,8]]

y luego obtengo el segundo resultado 2.
Otro ejemplo, desplazar de arriba hacia abajo la última columna con variable=6:

[[5,0,6]
[3,4,2]
[6,7,5]]

y luego obtengo el 8.

Aquí hay un fragmento de mi código en C++, pero puedo aceptar cualquier lenguaje.

#include <iostream>
using namespace std;

int main()
{
int ar[3][3] = {
{0, 1, 2} ,
{3, 4, 5} ,
{6, 7, 8}
};

int x=0;
for (int i = 0; i &lt; 2; i++) {
    int temp = x[i];
    x[i]=x[i+1];
    x[i]=tmp;
}

return 0;

}

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para lograr el resultado deseado, debes modificar el código dado de la siguiente manera:

    “`c++
    #include

    using namespace std;

    int main()
    {
    int ar[3][3] = {
    {0, 1, 2} ,
    {3, 4, 5} ,
    {6, 7, 8}
    };

    int variable = 10;
    int last_element = 0;
    
    // Desplazando de izquierda a derecha
    last_element = ar[0][2];
    ar[0][2] = variable;
    variable = ar[0][0];
    ar[0][0] = ar[0][1];
    ar[0][1] = variable;
    
    // Desplazando de derecha a izquierda
    variable = last_element;
    last_element = ar[1][0];
    ar[1][0] = variable;
    variable = ar[0][0];
    ar[0][0] = ar[0][1];
    ar[0][1] = variable;
    
    // Desplazando de arriba hacia abajo
    variable = last_element;
    last_element = ar[2][2];
    ar[2][2] = variable;
    variable = ar[0][2];
    ar[0][2] = ar[1][2];
    ar[1][2] = variable;
    
    // Desplazando de abajo hacia arriba
    variable = last_element;
    last_element = ar[0][1];
    ar[0][1] = variable;
    variable = ar[2][2];
    ar[2][2] = ar[1][2];
    ar[1][2] = variable;
    
    // Imprimir la matriz modificada
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            cout << ar[i][j] << " ";
        }
        cout << endl;
    }
    
    // Imprimir el último elemento
    cout << "Último Elemento: " << last_element << endl;
    
    return 0;
    

    }
    “`

    Este código primero almacenará la variable dada como el primer elemento de la matriz y luego realizará los desplazamientos necesarios para obtener el último elemento. Finalmente, imprimirá la matriz modificada y el último elemento.

    Ten en cuenta que este código asume que la matriz siempre es de 3×3. Si necesitas manejar matrices de diferentes tamaños dinámicamente, deberás modificar el código en consecuencia.

Comments are closed.