Red de conocimiento informático - Computadora portátil - El maestro del lenguaje C pide ayuda para hacer un bucle de los elementos de una matriz unidimensional k veces hacia la derecha.

El maestro del lenguaje C pide ayuda para hacer un bucle de los elementos de una matriz unidimensional k veces hacia la derecha.

#include

#include

int main(void)

{

int i ,k,n;

int *a;

while( scanf("%d%d",&k,&n)!=EOF)//aceptar k,n

{

if(n==0)break; //si n es 0, creo que simplemente finalícelo y deje k en paz

a=(int* )malloc(sizeof(int)*n);//asignar matriz

if(a==NULL)break; //fallo en la asignación de memoria, no hay conferencia

for(i =0;i

scanf("%d",a+i);//aceptar matriz

if(k==0)//sin movimiento

{

for(i=0;i

printf("%d ",a[i]);

printf("%d\n",a[i]);// Preocúpate por los múltiples espacios al final, envíalos por separado

}

k%= n; //en bucle, cambiar n+1 veces tiene el mismo efecto que cambiar 1 vez

//Lo siguiente está cortado de la posición media entre a[k-1] y a[k ] , genera la segunda mitad primero y luego descarta la primera mitad

for(i=n-k;i

printf("%d ",a[i ]);

for(i=0;i

printf("%d ",a[i]);

printf( "%d\n",a[i]);

printf("%d ",a[i];

printf("%d\n" ,a[ i]; //preocúpate por los espacios, pierde el último solo

free(a);//no olvides liberar

}

devuelve 0;

}