¿Cómo se mueven los elementos en un arreglo al siguiente elementomatriz cambiará al siguiente elemento
eg: x[5] = { 5, 4, 3, 2, 1 }; // initial values
x[0] = 6; // new values to be shifted
x[5] = { 6, 5, 4, 3, 2 }; // shifted array, it need to be shifted,
// not just increment the values.
Esto lo que he hecho hasta ahora. Está mal, es por eso que necesito ayuda aquí. Gracias por adelantado.
#include <iostream>
using namespace std;
int main()
{
int x[5] = { 5, 4, 3, 2, 1 };
int array_size = sizeof(x)/sizeof(x[0]);
x[0] = 6;
int m = 1;
for(int j = 0; j < array_size; j++) {
x[m+j] = x[j];
cout << x[j] << endl;
}
return 0;
}
inicio esta copia en serie del índice final de la matriz en lugar de comenzar, ya que al comenzar a copiar el elemento de principio que va a perder el siguiente elemento. Así que cambie el ciclo for –
Tenga en cuenta "off by one": x [m + j] = x [j]; intentará sobrescribir el elemento con el índice "array_size", que es mayor que la matriz, es un comportamiento indefinido. – sharptooth