c ¿Cómo programar para ingresar un conjunto de números y mover los últimos m números al comienzo de la matriz frontal?
#includelt;iostreamgt;
usando?namespace?std;
void?move(int?a[], int?begin, int?n)
{
int?*brr=new?int?[n]; //C admite matrices dinámicas
int?i;
for(i=0;ilt;n;i)
brr[i]=a[begin i-1];?//Nota: Debido a que la matriz comienza desde 0, la posición m es la El operando real es m-1
for(i=begin-2;igt;=0;i--)?//m-2 aquí está la posición real del número antes de m
a[i n]=a[i];
for(i=0;ilt;n?;i)
a[i]=brr[i];
eliminar[]?brr;
}
int?main(void)
{
int ?arr[15]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
int?m,n
int?len=sizeof(arr)/sizeof(arr[0]);
coutlt;lt;"len:"lt;lt;lenlt;lt;endl;
coutlt;lt;"Ingrese el número n de movimientos comenzando desde la posición m: m=,n=";
scanf("dd",amp;m,amp;n );?
//?En aplicaciones reales, se debe agregar juicio aquí para determinar si myn cumplen con los requisitos de operación y no pueden exceder el tamaño de la matriz.
move(arr, m, n );
for(int?i=0;ilt;15;i)
coutlt;lt;arr[i]lt;lt;"?";
coutlt;lt;endl;
retorno?0;
}