```c #include #include struct myarray { size_t len; int *array; }; int main(){ struct myarray arr = { 4, NULL }; arr.array = (int*)malloc(arr.len*sizeof(arr.array)); int movimientos; printf("Cuantos movimientos querés rotar hacia la derecha?: "); scanf("%d",&movimientos); for (int i = 0; i < arr.len; i++){ arr.array[i] = i+1; } for (int i = 0; i < movimientos; i++){ struct myarray arr2 = { arr.len , NULL }; // Armo un nuevo array con los 3 elementos menos exceptuando el primero // y el último elemento será el primero. // 4 movimientos // [1,2,3,4] // [4,1,2,3] // [3,4,1,2] // [2,3,4,1] // [1,2,3,4] arr2.array = (int *) malloc(arr.len*sizeof(int)); for (int i = 1; i < arr.len; i++){ arr2.array[i] = arr.array[i-1]; } arr2.array[0] = arr.array[arr.len-1]; free(arr.array); arr.array = arr2.array; } for (int i = 0; i < arr.len; i++){ if (i == arr.len-1) printf("%d",arr.array[i]); else printf("%d,",arr.array[i]); } return 0; } ```