Come posso spostare gli elementi di un array all'elemento successivoArray spostando al successivo 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.
Questo quello che ho fatto finora. È sbagliato, ecco perché ho bisogno di aiuto qui. Grazie in anticipo.
#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;
}
iniziare questa copia in ordine di dall'indice fine della matrice piuttosto che l'avvio, perché quando si inizia a copiare l'elemento dall'inizio si perderanno l'elemento successivo. Quindi cambia il ciclo for –
Nota: "off by one": x [m + j] = x [j]; proverò a sovrascrivere l'elemento con l'indice "array_size" che è fuori misura l'array - è un comportamento indefinito. – sharptooth